프로그래밍 언어/[JAVA]

[JAVA] Java Collections Framework에 대하여

연구소장 J 2022. 6. 2. 22:37

Java Collections Framework란

Java Collections Framework는 재사용이 가능한 Collection 자료 구조를 구현하는 클래스 및 인터페이스들의 집합이다.

간단히 말해 여러 가지 자료 구조들을 미리 만들어놓고 지원하는 라이브러리라고 생각할 수 있다. 

 

Java Collections Framework는 데이터를 저장하는 자료 구조에 따라 다음과 같은 주요 인터페이스를 정의한다.

 

1. List 인터페이스

2. Set 인터페이스

3. Map 인터페이스

 

여기서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속 받지만 Map 인터페이스는 구조상의 차이로 별도로 정의한다. 따라서 List 와 Set 인터페이스의 공통적인 부분은 Collection 인터페이스에서 정의한다.

 

 

Collections 상속 관계

Collections
[그림 1] Collection 상속 구조 ( 출처 : 위키백과 )

 

조금 복잡해 보일지 모르지만, 간단하게 Collection의 상속 관계를 나타내고 있다. 이러한 Collection 인터페이스를 상속 받는 List, Set, Queue 등은 다음과 같은 공통적인 메서드를 가지고 있다.

 

[표 1] Collection 인터페이스 메서드 ( 출처 : http://www.tcpschool.com/java/java_collectionFramework_concept )

 

 

Map 자료구조
[그림 2] Map 상속 관계 ( 출처 : 위키백과 )

 

Map 인터페이스는 Collection에 속하지 않고 따로 존재한다.

 

 

주요 인터페이스의 간략한 특징을 정리하자면 다음과 같다.

인터페이스 설명 구현 클래스
List<E> 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용 Vector, ArrayList, LinkedList, Stack, Queue
Set<E> 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음 HashSet, TreeSet
Map<K,V> 키와 값의 한 쌍으로 이루어지는 집합으로, 순서가 없음.
키는 중복을 허용하지 않지만, 값은 중복될 수 있음
HashMap, TreeMap, Hashtable

 

앞으로 각각 인터페이스들과 구현 클래스들에 대하여 자세히 작성해보도록 하겠다.

 

반응형