nickjoIT

컬렉션 프레임워크란 무엇인가 본문

PROGRAMING/JAVA

컬렉션 프레임워크란 무엇인가

nickjo 2016. 2. 18. 23:24

1. 정의

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

- 컬렉션은 다수의 데이터, 즉 데이터 그룹을, 프레임웍은 표준화된 프로그래밍 방식을 의미한다.

- 다른 말로는 컨테이너라고 부르는데, 이것은 값을 담는 그릇이라는 의미 이다. 

- 담는 값의 성격에 따라 컨테이너의 성격이 조금씩 달라지는데, 자바는 다양한 상황에서 사용할 수 있는 다양한 컨테이너를 제공하며, 이것을 컬렉션 프레임워크라고 부른다.

- JDK1.2 이전까지는 Vector, Hashtable, Properties와 같은 컬렉션 클래스들을 서로 다른 각자의 방식으로 처리해야 했으나, 

JDK1.2 부터 컬렉션 프레임웍이 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화되었다.






 인터페이스

 특 징

 List

순서가 있는 데이터의 집합, 데이터의 중복을 허용한다.

--> 데이터를 add하면 앞에서 부터 순차적(순서대로)으로 데이터가 들어간다. 

       그래서 각각의 저장되어 있는 공간들은 고유한 index를 갖는다. 

ex.) 대기자 명단

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

 

 Set

순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다.

--> 집합이다. 데이터가 순서와는 상관없이 add된다. 중복되지 않는다.

ex.) 양의 정수 집합, 소수의 집합

구현 클래스: HashSet, TreeSet등

 Map

키와 값의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값을 중복을 허용한다.

ex.) 우편번호, 지역번호

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



[참고사이트]

http://devbox.tistory.com/entry/Java-%EC%BB%AC%EB%A0%89%EC%85%98-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC









'PROGRAMING > JAVA' 카테고리의 다른 글

람다식  (0) 2016.03.09
지네릭스(Generics)  (0) 2016.03.08
String과 StringBuffer의 차이점  (0) 2016.02.18
스레드와 프로세스의 차이점  (0) 2016.02.12
일반예외 && 실행예외  (0) 2016.02.06
Comments