본문 바로가기
Programming/JAVA

Java Collection Framwork (자료구조) (List / Set / Map)

by 8ugust 2022. 10. 5.

Java Collection Framwork

Java에서 데이터를 저장하는 자료구조를

한 곳에 모아 간편하게 사용 가능하도록 제공.

 

인터페이스 특징 클래스
List 순서가 있는 데이터의 집합. 중복 허용. ArrayList, LinkedList
Stack, Vector
Set 순서가 없는 데이터의 집합. 중복 비허용. HashSet
TreeSet
Map Key : Value 형태. 순서 없음. Key 중복 비허용. Value 중복 허용. Hashtable, HashMap
SortedMap

 

 

 

1. List

클래스 특징
Array 고정길이. 단방향.
ArrayList 가변길이. 단방향. 조회 성능 우수.
LinkedList 가변길이. 양방향. 삽입 및 삭제 성능 우수.
Stack 가변길이. LIFO(Last In First Out) 구조.
Vector 무거운 탓에 성능이 좋지 않아 사용 안함.

 

 

 

2. Set

클래스 특징
HashSet Set의 기본 구조. 순서 없음. 중복 비허용. 시간복잡도 O(1).
TreeSet HashSet이 자동으로 정렬. 오름차순 Default. 시간복잡도 O(log n)

 

 

 

3. Map

클래스 특징
HashTable Value에 Null 비허용.
HashMap Value에 Null 허용. 순서 없음.
TreeMap HashMap이 정렬되어 순서를 가짐. 검색에 최적화.

 

 

 

※ 기타

  • Collection의 3가지는 List / Set / Queue 이다.
  • Mpa은 Collection에 속하진 않지만 하나로 간주된다.
  • Queue는 List와 흡사하여 주로 List와 함께 불린다.

댓글