컬렉션은 다수의 데이터를 다루기 위한 자료구조를 표현하고 사용하는 클래스의 집합을 의미한다.
데이터를 다루는데 필요한 풍부하고 다양한 클래스와 기본함수를 제공하기 때문에유용하게 사용할 수 있다.
컬렉션 프레임워크의 모든 클래스는 Collection interface를 구현(implement)하는 클래스 또는 인터페이스이다.
Collection 은 모든 자료구조가 구현(implement)하는 인터페이스이다.
모든 자료구조에 해당하는 클래스, 인터페이스는 언제나 Collection 인터페이스를 구현하고 있다.
- List : 순서가 있는 데이터의 집합이며 데이터의 중복을 허용한다. → ArrayList, LinkedList, Stack 등
- Set : 순서를 유지하지 않는 데이터의 집합이며 데이터의 중복을 허용하지 않는다. → HashSet, TreeSet 등
- Map : 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합이다. 순서는 유지되지 않으며 키는 중복을 허용되지 않고 값은 중복을 허용한다. → HashMap, TreeMap 등
- Stack : 마지막에 넣은 데이터를 먼저 꺼내는 자료구조이다. LIFO(Last In First Out) → Stack, ArrayDeque 등
- Queue : 먼저 넣은 데이터를 먼저 꺼내는 자료구조이다. FIFO(First In First Out) → Queue, ArrayDeque 등
컬렉션 인터페이스에는 컬렉션 클래스에 저장된 데이터를 읽고, 추가하고 삭제하는 등 데이터를 다루는데 기본적인 메소드들을 정의하고 있다.
예제
컬렉션-리스트
컬렉션-Set
컬렉션-Map
컬렉션-Stack
컬렉션-Queue
ArrayDeque
deque는 양 끝에서 삽입과 반환이 가능하다.