728x90

컬렉션 프레임워크의 핵심 인터페이스

1.List : 순서가 있는 데이터 집합. 데이터 중복 허용

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

2.Set : 순서가 없는 데이터 집합. 데이터 중복 허용하지않는다.

구현 클래스 - HashSet, TreeSet 등

3.Map : 키(key)와 값(value)의 쌍으로 이루어진 데이터 집합. 순서가 없고, 키의 중복은 허용하지않으며, 값의 중복은 허용한다.

구현 클래스 - HashMap, TreeMap 등

 

List와 Set의 공통부분을 뽑아 새로운 인터페이스 Collection을 추가로 정의했다.

 

구현클래스의 특징

List

1.ArrayList : 배열 기반. 데이터의 추가 삭제의 성능이 좋지않다. 임의의 요소에 대한 접근성이 뛰어나다.

2.LinkedList : 연결기반. 데이터의 추가와 삭제에 성능이 좋다. 접근성(탐색)이 좋지않다.

3.Stack : LIFO(Last In First Out) 후입 선출의 특성을 가진다.

4.Queue : LinkedList기반으로 만들어 졌으며 FIFO(First In First Out)의 특성을 가진다.

 

Set

1.HashSet : HashMap을 이용해서 구현했으며 해싱기법에 의해 데이터가 저장된다.

2.TreeSet :  TreeMap을 이용해서 구현했으며 이진

 

Map

1.HashMap : 배열과 연결(LinkedList)의 결합된 형태이다. 데이터의 추가, 삭제, 검색 등 모두 띄어나다.

2.TreeMap : 연결(LinkedList)기반으로 만들어졌다. 정렬과 탐색에 적합하다. 기본적으로 데이터들의 key들이 오름차순으로 정렬된다.

 

 

 

 

 

 

 

 

 

 

728x90

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

열거형(Enums)  (0) 2021.08.10
지네릭스(Generics)  (0) 2021.08.07
Map  (0) 2021.08.07
HashSet & TreeSet  (0) 2021.08.03
Arrays & Comparator  (0) 2021.08.02

+ Recent posts