본문

컬렉션 프레임웍(Collection Framework)(JAVA)

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


Clooection인터페이스는 컬렉션 클래스에 저장된 데이터를 읽고, 추가하고 삭제하는 등
컬렉션(데이터 군)을 다루는데 가장 기본적인 메서드들을 정의하고 있다.

- 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들

- 데이터 군을 저장하는 클래스들을 표준화한 설계


컬렉션 프레임웍은 컬렉션(다수의 데이터)을 다루는데 필요한 다양하고 풍부한 클래스들을 제공하기 때문에 프로그래머의 짐을 상당히 덜어주고 있으며, 또한 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있기 때문에 사용법을 익히기에도 편리하고 재사용성이 높은 코드를 작성할 수 있다는 장점이 있다.



# 컬렉션 프레임웍의 핵심 인터페이스 - List, Set, Map

(1) List순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. (예) 대기자 명단

구현클래스 : ArrayList, LinkedList, Stack, Vector 등


(2) Set : 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. (예) 양의 정수집합, 소수의 집합

구현클래스 : HashSet, TreeSet 등


(3) Map : 키(Key)와 값(Value)의 쌍으로 이루어진 데이터의 집합 (예) 우편번호, 지역번호(전화번호)

순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.

구현클래스 : HashMap, TreeMap, Hashtable, Properties 등



- List인터페이스

List인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다.


Set인터페이스

Set인터페이스는 중복을 허용하지 않고, 저장순서가 유지되지 않는 컬렉션 클래스를 구현하는데 사용된다.


Map인터페이스

Map인터페이스는 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다.

키는 중복될 수 없지만, 값은 중복을 허용한다.



 Set keySet()

Map에 저장된 모든 key객체를 반환한다.

 Collection values()

 Map에 저장된 모든 value객체를 반환한다.


values()에서는 반환타입이 Collection이고, keySet()에서는 반환타입이 Set인 것에 주목하자.

Map인터페이스에서 값(value)은 중복을 허용하기 때문에 Collection타입으로 반환하고, 

키(key)는 중복을 허용하지 않기 때문에 Set타입으로 반환한다.






출처 및 참고자료 : JAVA의정석(남궁성 저)

공유

댓글