본문 바로가기

JAVA

Collection 클래스 정리

ArrayList (new) / Vector (old)

- 순서 O, 중복 O (ex. 식당 대기 리스트)

- 배열 기반

- 데이터의 추가와 삭제에 불리

- 순차적인 추가와 삭제는 제일 빠름

- 임의의 요소에 대한 접근성이 뛰어남

 

LinkedList

- 순서 O, 중복 O

- 연결 기반

- 데이터의 추가와 삭제에 유리

- 임의의 요소에 대한 접근성이 좋지 않음

 

HashMap

- 순서 X, 키 중복 X, 값 중복 O (ex. 아이디와 비밀번호)

- 배열과 연결이 결합된 형태

- 추가, 삭제, 검색, 접근성이 모두 뛰어남

- 특히 검색에 최고 성능

 

TreeMap

- 순서 X, 키 중복 X, 값 중복 O

- 연결 기반

- 정렬과 범위 검색에 적합 (검색은 HashMap이 나음)

 

Stack

- LIFO

- 배열 기반. Vector를 상속받아 구현

 

Queue

- FIFO

- LinkedList가 Queue 인터페이스를 구현

 

Properties

- Hashtable을 상속받아 구현

- key, value를 문자열로만 정의

- 파일의 읽기와 쓰기에 용이

 

HashSet

- 순서 X, 중복 X

- HashMap을 이용해서 구현 (HashMap에서 key만 가지고 옴)

- 컬렉션 내의 중복 요소를 제거할 때 유용

- 정렬할 때는 TreeSet이 더 유용

 

TreeSet

- 순서 X, 중복 X

- TreeMap을 이용해서 구현 (TreeMap에서 key만 가지고 옴)

- 범위 검색, 정렬에 유리

 

LinkedHashMap / LinkedHashSet

- HashMap과 HashSet에 저장 순서 유지 기능을 추가

 

'JAVA' 카테고리의 다른 글

Comparator / Comparable 인터페이스  (0) 2021.01.12
지네릭스  (0) 2021.01.11
Collections  (0) 2021.01.10
HashMap  (0) 2021.01.08
TreeSet  (0) 2021.01.07