Map
Key-Value 쌍으로 이루어진 데이터 구조
Java Map 계층 구조

Map Interface
Map
인터페이스는Collection
인터페이스를 상속받지 않음Map
인터페이스는key
와value
를 묶어서 하나의 데이터를entry
로 저장put, get, remove, containsKey, containsValue, size, isEmpty, clear 등의 메소드 제공
Map 하위 Class 특징
Class
Base Class
Base Interface
Duplicate Key
Duplicate Value
Order
Get
HashMap
AbstractMap
Map
X
O
X
O(1)
TreeMap
SortedMap
NavigableMap
X
O
O
O(log n)
LinkedHashMap
HashMap
Map
X
O
O
O(1)
HashMap
내부적으로
Entry
배열을 만들어 관리put()
메서드를 이용하여Entry
를 추가하면key
값으로hash
값을 계산하여Entry
를 저장할 위치(접근 인덱스)를 찾아 사용hash
값 계산은 자바 버전에 따라 다르지만 기본적으로Object
의hashCode()
메서드를 기반으로 동작HashCode
를 계산하여 사용하기 때문에 순서가 보장되지 않음
TreeMap
key
-value
쌍을 내부적으로Red-Black Tree
로 관리key
값으로Red-Black Tree
를 구성하기 때문에Comparator
인터페이스를 구현하여key
값을 정렬할 수 있음
LinkedHashMap
HashMap
과 동일하게 내부적으로Entry
배열을 만들어 관리before
와after
를 이용하여Entry
를 추가한 순서대로Entry
를터 관리하기 때문에 순서가 보장됨
Last updated
Was this helpful?