Java에서 컬렉션(collection)이란 데이터의 집합, 그룹을 의미하며, JCK(Java Collection Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공합니다.
인터페이스 | 구현 클래스 | 특징 |
---|---|---|
Set | HashSet TreeSet | 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. |
List | LinkedList Vector ArraryList | 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. |
Queue | LinkedList PriorityQueue | List와 유사 |
Map | Hashtable HashMap TreeMap | 키(Key), 값(Value)의 쌍으로 이루어진 데이터의 집합으로, 순서는 유지되지 않으며 키(Key)의 중복을 허용하지 않으나, 값(Value)의 중복은 허용한다. |
순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않습니다.
순서가 있는 데이터의 집합으로 데이터의 중복을 허용합니다.
LinkedList
Vector
ArrayList
- 단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어 조회 기능에 성능이 뛰어남
키(Key), 값(Value)의 쌍으로 이루어진 데이터의 집합으로, 순서는 유지되지 않으며 키(Key)dml 중복을 허용하지 않으나, 값(Value)의 중복은 허용합니다.
Hashtable
- HashMap 보다는 느리지만 동기화를 지원함.
HashMap
TreeMap