record 에 관하여
·
java
Java 14에서 도입된 record 키워드는 간결한 데이터 구조를 정의하는 새로운 방식입니다. 기존의 class를 사용한 데이터 객체보다 더 적은 코드로 불변(immutable) 객체를 생성할 수 있도록 설계되었습니다. record는 DTO(Data Transfer Object), 불변 객체, 데이터 모델링 등에 매우 유용하게 사용할 수 있습니다.1. Java record란?record는 자동으로 생성된 생성자, getter 메서드, equals(), hashCode(), toString()을 포함하는 데이터 중심 클래스입니다. 이는 불변 객체를 간단하게 정의할 수 있도록 돕습니다.기본 문법public record User(String name, int age) {}위 코드 한 줄만으로 다음과 같은 기..
Tree 에 관하여
·
java
Java에서 Tree 자료구조는 계층적인 데이터 구조를 표현하는 데 사용되며, 다양한 알고리즘과 데이터 구조에서 활용됩니다. 대표적인 트리 구현체로는 TreeSet, TreeMap, BinarySearchTree, AVLTree, Red-Black Tree 등이 있습니다. 이 글에서는 트리의 개념과 주요 구현체들의 특징을 비교하고 적절한 사용 사례를 살펴보겠습니다.1. 트리(Tree)란?Tree는 노드(Node)와 간선(Edge)으로 구성된 비선형 자료구조입니다. 일반적으로 다음과 같은 특징을 가집니다:계층 구조를 형성 (부모-자식 관계)루트(Root) 노드에서 시작하여 여러 개의 하위 노드로 확장순환(Cycle)이 없는 그래프 구조이진 트리(Binary Tree), 균형 트리(Balanced Tree)..
Map 에 관하여
·
java
Java에서 Map 인터페이스는 키-값(Key-Value) 쌍을 저장하는 자료구조입니다. Map은 키의 중복을 허용하지 않으며, List나 Set과는 다르게 특정 키를 사용하여 값을 효율적으로 조회할 수 있도록 설계되었습니다.Java에서 Map 인터페이스의 대표적인 구현체는 HashMap, LinkedHashMap, TreeMap, Hashtable 등이 있습니다. 이 글에서는 각 구현체의 특징과 성능을 비교하고 적절한 사용 사례를 살펴보겠습니다.1. Map 인터페이스란?Map 인터페이스는 java.util 패키지에 속하며, 다음과 같은 특징을 가집니다:키-값(Key-Value) 쌍 저장키의 중복을 허용하지 않음값은 중복 가능빠른 검색 및 삽입 제공 (O(1) 또는 O(log n))Java의 Map 인터..