Map Interface
: Map은 중복을 허용하지 않는 Key와 중복이 가능한 Value가 각각 쌍을 이루어 저장되는 자료구조이다.
Map 자료구조의 특징
- 중복 : 중복 불가 , index가 순차적 Key로 유일성을 가짐
- 순서 : 보장 불가
- 정렬 : 정렬 불가
- 동기화 (Thread-Safe) : 동기화 불가능, 불안전함
삽입 / 삭제 / 조회 연산이 광장히 빠르지만,
순서를 보장하지 않고, 정렬이 불가하다는 단점을 가지고 있다.
이러한 단점을 보완하기 위해서 자바에서는 HashMap , LinkedHashMap, TreeMap 세 가지의 클래스를 지원한다.
HashMap
- 해시함수를 이용한 Map임
- 삽입 / 삭제 / 조회 연산의 O(1)을 보장하는 아주 빠른 자료구조
- 삽입 데이터의 순서를 보장하지 않음
- 정렬이 불가함
LinkedHashMap
- 삽입 / 삭제가 맵보다 느림
- 삽입 순서를 보장함
- 정렬은 불가함
- 주요 메서드는 HashMap과 같다
TreeMap
- 삽입 / 삭제가 굉장히 느림,
- 삽입순서를 보장함
- Map이지만 유일하게 정렬이 가능함.