콜렉션 프레임워크(Collection Framework)란?
- 각 자료 구조(Data Structure)들을 자바 클래스로 구현한 모음
- 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 둔 것
- 콜렉션 프레임워크에는 객체만 저장 가능
- 표준화가 되어 있어 사용법이 편하고 재사용성이 높다.
- 웹 개발 현장에서 자주 사용되는 콜렉션 클래스는 ArrayList, LinkedList, HashMap, HashSet 정도
배열과 컬렉션의 비교
특성 |
배열 |
컬렉션 |
크기 관리 |
고정 크기 |
동적 크기 |
요소 타입 |
단일 타입 |
제네릭스로 다양한 타입 지원 |
성능 |
높은 성능 |
성능은 자료구조에 따라 다름 |
유연성 |
낮음 |
높음 |
메서드 제공 |
제한적 |
다양한 메서드 제공 |
타입 안전성 |
없음 |
제네릭스를 통한 타입 안전성 제공 |
동기화 |
없음 |
동기화 지원으로 멀티 스레딩 환경에서 안전 |
콜렉션 프레임워크(Collection Framework)의 종류
- 크게 Collection Interface와 Map Interface로 나뉜다.
- 대부분의 콜렉션 클래스는 List, Set, Map 중 하나를 구현하고 있으며, 구현한 인터페이스명을 클래스명으로 사용
Iterable Interface
Collection Interface
List Interface
Queue Interface
Deque Interface
Set Interface
Map Interface