배열을 보완하는 컬렉션(collection)
다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합
public static void main(String[] args) {
List<String> snack = new ArrayList<String>();
snack.add("cookie");
snack.add("candy");
System.out.println(snack[0]); // cookie
int size = snack.size(); // 2
}
컬렉션 프레임워크는 인터페이스를 통해 구현된다.
데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스들을 정의하고 있다.
이 중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.
따라서 List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의한다.
위의 그림에서 나 <K, V>라는 것은 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있음을 알려준다.
검정색은 인터페이스, 파랑색은 클래스, 실선 화살표는 상속, 점선 화살표는 구현을 의미한다.