컬렉션(Collection)이란 객체의 여러 원소들을 담을 수 있는 자료구조를 뜻한다.
자바에서는 컬렉션을 위한 인터페이스와 클래스들이 있다.
그러한 자바의 자료구조 유형은 대표적으로 4가지가 있다.
List : 순서가 있는 데이터의 집합 (데이터 중복 허용)
Set : 순서가 없는 데이터의 집합 (데이터 중복 허용 안함)
Queue : 데이터의 In / Out 순서를 FIFO 방식으로 관리
Map : 순서가 없는 Key와 Value의 쌍으로 이루어진 데이터의 집합 (Key값은 중복 허용 안함)
컬렉션이 다루는 데이터들은 기본적으로 객체만 가능하다
기본형 데이터들은 Wrapper 클래스를 통해 사용해야한다.
List, Set, Queue 는 공통분모로 Collection 인터페이스를 상속 받고 있으며 Collection 인터페이스가 가지는 메서드를 사용할 수 있다.
메서드 | 설명 |
---|---|
boolean add(E e) | 현재 컬렉션에 데이터 객체 e를 추가합니다. |
boolean addAll(Collection<? extends E> c) | 현재 컬렉션에 컬렉션 c의 모든 데이터를 추가합니다. |
boolean contains(Object o) | 현재 컬렉션에 객체 o의 포함 여부를 반환합니다. |
boolean containsAll(Collection<?> c) | 현재 컬렉션에 컬렉션 c의 모든 데이터가 포함되어있는지 여부를 반환합니다. |
boolean remove(Object o) | 현재 컬렉션에서 객체 o를 삭제합니다. |
boolean removeAll(Collection<?> c) | 현재 컬렉션에서 컬렉션 c와 일치하는 데이터를 삭제합니다. |
boolean retainAll(Collection<?> c) | 현재 컬렉션에서 컬렉션 c와 일치하는 데이터만 남기고 나머지는 삭제합니다. |
void clear() | 현재 컬렉션의 모든 데이터를 삭제합니다. |
int size() | 현재 컬렉션에 포함된 데이터 개수를 반환합니다. |
boolean isEmpty() | 현재 컬렉션이 비어있는지 여부를 반환합니다. |
Iterator<E> iterator() | 현재 컬렉션의 모든 요소에 대한 iterator를 반환합니다. |
Object[] toArray( ) | 현재 컬렉션에 저장된 데이터를 Object 배열로 반환합니다. |
< T > T[ ] toArray(T[ ] a) | 현재 컬렉션에 저장된 데이터를 배열 a에 담고 배열 a를 반환합니다. |