Collection Framework란?
-
자바의 컬렉션 프레임워크란 여러 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스들의 집합을 의미한다.
-
프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리로 java.util 패키지에 구현되어 있다.
-
컬렉션 프레임워크를 사용하면 개발에 소요되는 시간을 절역하며 최적화 된 알고리즘을 사용할 수 있다.
주요 인터페이스
컬렉션 프레임워크는 자료구조에 따라 List, Set, Map 인터페이스를 정의하고 있다
위의 사진을 보면 List와 Set 인터페이스는 Collection 인터페이스를 상속받으나 Map인터페이스는 구조상의 차이로 인해 별도로 정의되는 것을 확인 할 수 있다.
List <E>
- List 인터페이스는 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다.
- 데이터의 순서가 있어 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언되어 있는 인터페이스이다.
- ArrayList, Vector, LinkedList, Stack, Queue 등이 존재한다.
Set<E>
- Set 인터페이스는 순서가 없는 집합으로 데이터의 중복을 허용하지 않는다.
- 우리가 흔히 아는 집합을 생각하면 된다.
- 출력은 저장된 순서와 출력 순서가 다를 수 있다.
- 중복이 없는 유일한 값을 관리하는데 필요한 메서드가 선언되어 있다.
- 아이디, 주민번호, 사번 등을 관리하는데 유용하다.
- HashSet, TreeSet등이 있다.
Map<K, V>
- key-value의 쌍으로 이루어지는 객체를 가진 집합으로 순서가 없다.
- 객체들의 Key는 중복을 허용하지 않지만 value는 중복을 허용한다.
- 쌍으로 이루어진 객체를 관리하는데 사용하는 메서드들이 선언되어 있다.
- HashTable, HashMap, Properties, TreeMap 등이 있다.
Collection 인터페이스
-
List, Set인터페이스는 공통으로 Collection인터페이스의 상속을 받으며 Collection인터페이스에는 List, Set에서 공통으로 사용되는 기본 메서드들이 정의되어 있다.
-
Collection인터페이스에서 제공하는 주요 메서드는 아래와 같다.
Reference