15.1 컬렉션 프레임워크

자바는 널리 알려져 있는 자료구조(Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 관련된 인터페이스와 클래스들을 java.util 패키지에 포함시켜 놓았다. 이들을 총칭해서 컬렉션 프레임워크(Collection Framework)라고 부른다. 컬렉션 프레임워크는 몇 가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 설계되어 있다. 주요 인터페이스로는 List, Set, Map이 있는데, 이 인터페이스로 사용 가능한 컬렉션 객체의 종류는 다음과 같다.

인터페이스 분류 특징 구현 클래스
Collection -> List - 순서를 유지하고 저장
- 중복 저장 가능
ArrayList, Vector, LinkedList
Collection -> Set - 순서를 유지하지 않고 저장
- 중복 저장 안됨
HashSet, TreeSet
Map - 키와 값으로 구성된 엔트리 저장
- 키는 중복 저장 안됨
HashMap, Hashtable, TreeMap, Properties

List와 Set은 객체를 추가, 삭제, 검색하는 방법에 있어서 공통점이 있기 때문에 공통된 메소드만 따로 모아 Collection 인터페이스로 정의해 두고 이것을 상속하고 있다. Map은 키와 값을 하나의 쌍으로 묶어서 관리하는 구조로 되어 있어 List 및 Set과는 사용 방법이 다르다.

순차 컬렉션: 자바 21에서는 순차 컬렉션(sequenced collection) 기능이 추가되었다. 자세한 내용은 21장에서 설명한다.

서브목차