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?