Java
[Java] 컬렉션 프레임워크
junga
2022. 9. 19. 23:34
컬렉션 프레임워크(collection framework)
- 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
- 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다.
- 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.
컬렌션 프레임워크 주요 인터페이스
- List 인터페이스(List
)
- 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다.
- 구현 클래스: Vector, ArrayList, LinkedList, Stack, Queue
- Set 인터페이스(Set
)
- 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않는다.
- 구현 클래스: HashSet, TreeSet
- Map 인터페이스(Map<K, V>)
- 키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없다. (키 중복 X, 값 중복 O)
- 구현 클래스: HashMap, TreeMap, Hashtable, Properties
이 중 List, Set 인터페이스는 모두 Collection 인터페이스를 상속받지만,
구조상의 차이로 Map 인터페이스는 별도로 정의돼있다.
위 이미지는 주요 인터페이스 간의 상속 관계를 보여준다.
컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현돼있는 것을 볼 수 있다.
컬렌셕 클래스
- 컬렉션 프레임워크에 속하는 인터페이스(List, Set, Map)를 구현한 클래스를 말한다.
- AraayList, HashSet, HashMap 등
Collection 인터페이스
- List, Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고, 두 인터페이스는 이를 상속받는다.
- 따라서 Collection 인터페이스는 컬렉션을 다루는데 가장 기본적인 동작들을 정의하고, 메소드로 제공하고 있다.
| 참고로 Collection은 여러 원소들을 담을 수 있는 자료구조를 뜻한다.