
1. 컬렉션 프레임워크 (Collection Framework) 컬렉션 프레임워크란 데이터군을 저장하는 클래스들을 표준화한 설계를 의미한다. 본 컬렉션 프레임 워크 시리즈에서는 개념에 대한 자세한 설명은 이미 알고 있다는 전제하에 최대한 생략하고 해당 컬렉션이 가지고

List 인터페이스는 본 그림에서와 같이 Collection을 상속받으며, 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다. 반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.자바의 정석 3판 (저

ArrayList 클래스는 본 그림에서와 같이 List를 구현한다.반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.자바의 정석 3판 (저자 : 남궁성)Java Collections Framework Video Tu

Vector 클래스는 본 그림에서와 같이 List를 구현한다. ArrayList와 유사하나 주요한 차이점은 모든 메서드가 동기화되어 있어 여러 스레드가 동시에 안전하게 접근할 수 있다. 이는 Vector를 멀티스레드 환경에서 안전하게 사용할 수 있도록 해준다.다만 단일

1. Stack 클래스 Stack 클래스는 본 그림에서와 같이 Vector를 상속하며 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last In First Out)구조의 자료구조이다. 현대 자바 프로그래밍에서 Vector 클래스의 사용이 권장되지 않으므로 Ve

1. LinkedList 클래스 LinkedList 클래스는 그림과 같이 인터페이스 List와 인터페이스 Deque를 구현한 클래스로 배열의 단점을 보완한 자료구조이다. LinkedList 클래스는 불연속적으로 존재하는 데이터를 서로 연결(link)한 형태로 구성되어

1. Queue 인터페이스 Queue 인터페이스는 본 그림에서와 같이 Collection을 상속하며 처음에 저장한 데이터를 가장 먼저 꺼내는 FIFO(First In First Out)구조의 자료구조이다. 2. Queue 인터페이스에 정의된 메서드 목록 반환타입이

Deque 인터페이스는 Double Ended Queue 인터페이스의 약자로 본 그림에서와 같이 Queue을 상속하며 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 큐 자료 구조이다. Deque는 Stack과 Queue의 기능을 모두 제공하여, 다양한 방식으로 데이터를

ArrayDeque는 인터페이스Deque를 구현한 클래스로 내부에서는 요소들을 동적 배열에 저장하는데 이를 원형 큐 (Circular Queue)구조를 사용하여 구현하였다. 원형 큐에 대한 자세한 설명은 생략한다.ArrayDeque는 원형 큐 구조를 이용해 구현하여 삽

Queue 인터페이스의 구현체 중의 하나로, 저장한 순서에 관계없이 우선순위(Priority)가 높은 것부터 꺼내게 된다든 특징을 가진다. 저장공간으로 배열을 사용하며 각 요소를 힙(heap)이라는 자료구조의 형태로 저장한다. 힙은 이진 트리의 한 종류로 가장 큰 값이

Set 인터페이스는 List 인터페이스와는 달리 중복을 허용하지 않고 저장순서도 유지되지 않는다.그림과 같이 Collection 인터페이스를 상속받으며 그 외 자체적으로 추가된 메서드는 없다.반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아

HashSet은 Set 인터페이스를 구현한 대표적인 컬렉션으로 중복된 요소를 저장하지 않는다. 만약 중복된 요소를 추가하고자 add 메서드 등을 사용한다면 이 메서드들은 false를 반환함으로써 중복된 요소이기 때문에 추가에 실패했다는 것을 알린다.또한 HashSet클

LinkedHashSet은 그림과 같이 HashSet을 상속한다. LinkedHashSet은 HashSet과는 달리 저장순서를 유지하는 기능이 추가되어 있다. 이는 두 컬렉션의 내부구현 방식의 차이에 기인하는데 HashSet은 내부적으로 HashMap컬렉션을 사용하여

SortedSet은 Set 인터페이스를 상속한 인터페이스로, 요소가 자연순서 또는 지정된 Comparator에 따라 정렬되는 집합이다. 따라서 SortedSet은 요소의 순서를 유지한다. 반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면

NavigableSet은 SortedSet을 상속한 인터페이스로 탐색 관련 메서드를 추가하여 양방향 탐색 및 세밀한 범위 검색을 가능하게 한다.반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.이러한 기능을 가진 N

TreeSet 클래스는 NavigableSet 인터페이스를 구현하였으며 이진 검색트리 (Binary Search Tree)라는 자료구조의 형태로 데이터를 저장하는 컬렉션이다. 이진 검색 트리는 정렬, 검색, 범위 검색에 높은 성능을 보이는 자료구조로 TreeSet 클래

1. 반복자 (Iterators) 반복자(Iterators)는 컬렉션의 요소를 하나씩 순회하면서 접근할 수 있도록 하는 객체를 의미합니다. 여기에는 Iterable,Enumeration, Iterator, ListIterator, Spliterator 등의 객체가 포

Map 인터페이스는 Collection을 상속받는 List, Set과 같은 컬렉션들과는 달리 키(key)와 값(value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는데 사용된다. 키는 중복될 수 없지만 값은 중복을 허용한다. 만약 기존에 저장된 데이터와

HashMap 은 Map 인터페이스를 구현한 클래스로 해싱(hashing)을 사용 하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 갖는다.반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.자바의 정석

LinkedHashMap은 HashMap을 상속한 클래스로 HashMap의 모든 기능을 상속받으며 저장된 Entry에 대해 이중 연결 리스트(Doubly Linked List )의 구조를 추가하여 순서를 유지한다. 해싱(Hashing) 과정 자체는 HashMap과 L

SortedMap은 Map 인터페이스를 상속한 인터페이스로 SortedMap은 키가 정렬된 순서로 저장되는 맵이다. 이 때문에 SortedMap은 데이터를 검색하거나 반복할 때 정렬된 순서를 보장한다. 이러한 기능을 위해 SortedMap은 키를 자연 순서 또는 제공된

NavigableMap은 SortedMap을 상속한 인터페이스로 탐색 관련 메서드를 추가하여 양방향 탐색 및 세밀한 범위 검색을 가능하게 한다.한다. 이 인터페이스는 더 많은 네비게이션 기능을 포함하여 키의 순서를 기반으로 한 다양한 연산을 가능하게 합니다.반환타입이

TreeMap은 NavigableMap 인터페이스를 구현한 클래스로 이름에서 알 수 있듯이 이진검색트리의 형태로 이루어져 있다. 검색에 관한 대부분의 경우에서 HashMap이 TreeMap보다 더 뛰어나므로 HashMap을 사용하는 것이 더 좋지만 범위검색이나 정렬이

자바의 HashTable 클래스는 Map 인터페이스를 구현했으며 동기화된 키-값 (key - values) 매핑을 제공합니다. 이 클래스는 기본적으로 Dictionary 클래스를 상속받으며, 멀티스레드 환경에서 안전하게 사용할 수 있도록 동기화되어있다. 다만 HashT

Properties 클래스는 Hashtable을 상속하는 자바의 유틸리티 클래스 중 하나로 이 클래스는 주로 구성 설정을 저장하고 로드하는 데 사용된다. 주요 특징Properties 클래스의 키와 값은 모두 String 타입으로 제한됩니다. 이는 구성 설정을 다루기 위

Comparable과 Comparator는 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. Comparable 인터페이스는 다음과 같다.✍️ 작성compareTo 메서드를 구현한다.Comparator 인터페이스는 다음과 같다.✍️ 작성compare