곰민기님의 블로그
close
프로필 배경
프로필 로고

곰민기님의 블로그

  • 분류 전체보기 (43)
    • 백엔드 (33)
      • AWS (10)
      • 스프링 (8)
      • 인증 (5)
      • Docker (5)
      • JAVA (5)
    • 아이나비 인턴 (4)
    • React-Native (6)
    • 고생의 흔적 (0)

[JAVA] Arrays.sort와 Compator

코딩 테스트를 준비하면서 배열 정렬 문제를 자주 마주쳤습니다. 대부분은 단순히 오름차순, 내림차순으로 정렬하거나 특정 기준을 기반으로 정렬하는 작업이었습니다. 이 과정에서 Java의 Comparator에 대해서 자세히 알아보게 되었습니다.문제를 만나며 느낀 벽처음엔 단순히 배열 정렬만 하면 되는 문제였습니다. 하지만 갑자기 등장한 조건부 정렬 문제는 저를 당황스럽게 했습니다.예: 문자열 배열에서 n번째 문자를 기준으로 정렬하되, 같은 문자가 나오면 사전순으로 정렬하라.이런 문제를 처음 봤을 때는 솔직히 "이걸 어떻게 정렬하지?"라는 생각이 들었습니다. 하지만 Java의 Arrays.sort와 Comparator를 알게 되면서 문제를 해결할 방법이 생각났습니다.Comparator로 정렬 기준을 커스터마이징..

  • format_list_bulleted 백엔드/JAVA
  • · 2025. 1. 3.
  • textsms
[스프링] 매핑과 엔티티의 관계: 1:N, N:1, N:M, 1:1, FetchType

[스프링] 매핑과 엔티티의 관계: 1:N, N:1, N:M, 1:1, FetchType

엔티티(Entity) 매핑은 데이터베이스 테이블과 자바 객체 간의 관계를 설정하는 과정에서 핵심 개념입니다. 특히 관계형 데이터베이스에서는 테이블 간의 관계를 효과적으로 매핑하기 위해 JPA(Java Persistence API)와 같은 ORM(Object Relational Mapping) 도구를 사용합니다. 이제 엔티티 간의 관계를 정의하는 다양한 방식과 그에 따른 매핑 방법을 구체적으로 알아봅시다!  1. 엔티티 관계의 종류엔티티 간의 관계는 크게 다음과 같이 나눌 수 있습니다.1:N(One-To-Many)하나의 엔티티가 여러 엔티티와 관계를 가질 때.N:1(Many-To-One)여러 엔티티가 하나의 엔티티와 관계를 가질 때.N:M(Many-To-Many)여러 엔티티가 서로 다수의 관계를 가질 때...

  • format_list_bulleted 백엔드/스프링
  • · 2024. 12. 9.
  • textsms

[Java] 맵(Map)

Map은 Java의 컬렉션 프레임워크에서 키-값(key-value) 쌍으로 데이터를 저장하고 관리하는 인터페이스입니다. 데이터 조회, 삽입, 삭제가 효율적이며, List와 달리 순서를 보장하지 않는 것이 특징입니다. Map의 주요 구현체로는 HashMap, LinkedHashMap, TreeMap, Hashtable 등이 있습니다.  1. Map의 특징Key-Value 구조:key는 고유하며, 중복을 허용하지 않습니다.value는 중복이 가능합니다.null 허용 여부:대부분의 구현체(HashMap 등)는 null 키와 다수의 null 값을 허용합니다.단, TreeMap과 같은 일부 구현체는 null 키를 허용하지 않습니다.순서 보장 여부:HashMap: 삽입 순서를 보장하지 않음.LinkedHashMap..

  • format_list_bulleted 백엔드/JAVA
  • · 2024. 12. 4.
  • textsms
[JAVA] Stream API

[JAVA] Stream API

1. Stream이란?Stream은 데이터 소스를 추상화하여 요소의 연속적인 흐름(데이터 스트림)을 처리하는 Java API입니다. Stream은 다음과 같은 특징을 가집니다:데이터를 변경하지 않음: 원본 데이터는 변경되지 않고 새로운 결과를 생성.재사용 불가: 한 번 처리한 Stream은 다시 사용할 수 없음.지연 연산: 필요할 때만 연산이 실행.  Stream 객체 생성 없이 사용 가능Java 8 이전에는 데이터 처리를 위해 반복문과 명령형 프로그래밍 방식으로 코드를 작성해야 했습니다. 하지만 Java 8 이후로는 Stream API를 통해 데이터를 더 선언적으로 처리할 수 있습니다. 예를 들어:컬렉션의 stream() 메서드: 리스트, 세트, 맵 등의 컬렉션은 자체적으로 stream() 메서드를 제..

  • format_list_bulleted 백엔드/JAVA
  • · 2024. 12. 1.
  • textsms

[JAVA] 리스트

1. 리스트 생성하기고정 값으로 List 만들기리스트에 미리 정해진 값을 입력하여 생성합니다.List list = Arrays.asList(1, 2, 3, 4, 5);배열로부터 List 만들기배열을 기반으로 리스트를 생성합니다.Integer[] arr = new Integer[]{1, 2, 3, 4, 5};List list = Arrays.asList(arr);주의: 배열 타입이 기본 타입(int[])인 경우, 변환 시 오류가 발생합니다.기존 리스트로 새로운 List 만들기기존 리스트의 내용을 기반으로 새로운 리스트를 생성합니다.List list1 = Arrays.asList(1, 2, 3, 4, 5);List list2 = new LinkedList(list1);  2. 고정 크기 리스트 (Fixed-..

  • format_list_bulleted 백엔드/JAVA
  • · 2024. 11. 27.
  • textsms
[JAVA] 자료구조와 알고리즘

[JAVA] 자료구조와 알고리즘

컴퓨터 프로그래밍컴퓨터가 작업을 수행하도록 하는 과정은 프로그램을 작성하는 것에서 시작됩니다. 이러한 프로그램을 만드는 과정을 프로그래밍 또는 코딩이라고 부릅니다.프로그램의 구성 요소프로그램은 크게 두 가지로 나뉩니다:구조화된 데이터 → 자료구조논리적 절차 → 알고리즘이 둘을 조합하여 프로그램을 만든다고 볼 수 있으며, 이를 **"자료구조 + 알고리즘 = 프로그램"**으로 표현할 수 있습니다.컴퓨터가 효율적으로 작업을 수행하기 위해서는 좋은 프로그램이 필요하며, 이를 위해 자료구조와 알고리즘을 깊이 이해하는 것이 중요합니다.자료구조자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 방법입니다. 특히, 대량의 데이터를 어떻게 구성할 것인가에 초점이 맞춰져 있습니다.데이터 구성 방식선형 자료구조: 데이터를..

  • format_list_bulleted 백엔드/JAVA
  • · 2024. 11. 26.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 8
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (43)
    • 백엔드 (33)
      • AWS (10)
      • 스프링 (8)
      • 인증 (5)
      • Docker (5)
      • JAVA (5)
    • 아이나비 인턴 (4)
    • React-Native (6)
    • 고생의 흔적 (0)
최근 글
인기 글
최근 댓글
태그
  • #인스턴스
  • #백엔드
  • #아이나비
  • #aws
  • #SSH
  • #탄력ip주소
  • #EC2
  • #인바운드
  • #아이나비 인턴
  • #톰캣
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바