Java - 컬렉션 프레임워크(Collection Framework)

 

본 내용은 자바의 정석 3rd Edition을 참고하여 작성되었습니다. 개인적으로 학습한 내용을 복습하기 목적이기 때문에 내용상 오류가 있을 수 있습니다.

1. 컬렉션 프레임워크란?

컬렉션 프레임워크란 데이터 군을 지정하는 클래스들을 표준화한 설계 를 의미한다. 컬렉션(collection)은 다수의 데이터, 즉 데이터 그룹을 의미하며 프레임워크는 표준화된 프로그래밍 방식을 의미 한다.

2. 컬렉션 프레임워크의 핵심 인터페이스

컬렉션 프레임워크에서는 컬렉션을 크게 3가지 타입(List, Set, Map)이 존재한다고 인식하고, 각 컬렉션을 다루는데 필요한 기능을 가진 3개지 인터페이스를 정의했다. 그리고 ListSet의 공통된 부분을 뽑아서 새로운 인터페이스인 Collection을 추가로 정의 하였다.

collection

인터페이스 ListSet을 구현한 컬렉션 클래스들은 서로 많은 공통부분이 있어서, 공통된 부분을 다시 뽑아 Collection인터페이스를 정의할 수 있었지만, Map인터페이스는 이들과 전혀 다른 형태로 컬렉션을 다루기 때문에 같은 계층 상속도에 포함되지 못했다.

다음 테이블은 컬렉션 프레임워크의 인터페이스들의 주요 특징이다.

인터페이스 특징
List 순서가 있는 데이터 집합, 데이터 중복 허용
Set 순서를 유지하지 않는 데이터 집합, 데이터 중복 허용하지 않음
Map Key와 Value의 쌍으로 이루어진 데이터의 집합, 순서는 유지되지 않으며, 키의 중복은 허용하지 않고, 값의 중복은 허용

간략하게 컬렉션 프레임워크가 무엇인지 알아보았으니 이제 하나하나 컬렉션 프레임워크의 구성요소들을 자세히 알아보도록하자.