Collection Framework
Collections 란
- Collection을 다루기 위한 클래스
- collection의 fill()
, copy()
, sort()
, binarySearch()
제공
- 동기화 제공
- ReadOnly 컬렉션 제공
- 싱글톤 컬렉션 생성 가능
- 이외에도 다양한 컬렉션 사용 가능한 메서드 제공
Collection
collection framework
는 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 방법을 제공하는 클래스의 집합
- 즉, 자료 구조와 알고리즘을 구조화하여 클래스로 구현해 놓은 것
인터페이스
- Collection: 데이터의 집합, 그룹을 나타내며 하위 인터페이스로
List
, Set
존재, Map
은 별도 정의
- List: 순서가 있으며, 중복을 허용하는 데이터 집합
- Set: 순서가 없으며, 중복을 허용하지 않는 데이터 집합
- Queue: 클래스로 구현된 스택과 달리 자바에서 별도로 제공하며 FIFO이고,
Deque
를 제공
- Map: 키, 값의 쌍으로 이루어진 데이터 집합이며, 순서가 없고 키 중복은 불가하지만, 값 중복은 허용
클래스
- ArrayList: 배열 기반이며 동기화되지 않음
- Vector:
ArrayList
와 유사하지만 동기화 처리를 진행하여 성능 저하가 존재
- Stack:
List
컬렉션 클래스의 Vector
를 상속받아 스택 메모리 구조 클래스 제공하며 LIFO 형태
- LinkedList: 추가, 삭제를 노드 형태를 통해 진행하기 때문에 빠르게 처리 가능하며,
Queue
와 List
모두 구현
- HashMap: 해싱 기법을 사용하여 검색이 빠른 형태의 Map