개발놀이터

자바 Map컬렉션 클래스 본문

Java

자바 Map컬렉션 클래스

마늘냄새폴폴 2021. 8. 10. 00:15

*Map 컬렉션 클래스
Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다.
Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다.
여기서 키란 실질적인 값을 찾기위한 이름의 역할을 한다.

Map 인터페이스를 구현한 모든 Map컬렉션 클래스는 다음과 같은 특징을 가진다.

1. 요소의 저장순서를 유지하지 않는다.
2. 키는 중복을 허용하지 않지만, 값의 중복은 허용한다.

대표적인 Map 컬렉션 클래스에 속하는 클래스는 다음과 같다.

1. HashMap<K, V>
2. Hashtable<K, V>
3. TreeMap<K, V>


*HashMap<K, V> 클래스
HashMap 클래스는 Map 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나이다.
JDK 1.2 부터 제공된 HashMap 클래스는 해시 알고리즘을 사용하여 검색 속도가 매우 빠르다.

HashMap 클래스는 Map 인터페이스를 구현하므로, 중복된 키로는 값을 저장할 수 없다.
하지만 같은 값을 다른 키로 저장하는 것은 가능하다.


*Hashtable<K, V> 클래스
Hashtable 클래스는 JDK 1.0 부터 사용해온 HashMap 클래스와 같은 동작을 하는 클래스이다.
현재의 Hashtable 클래스는 HashMap클래스와 마찬가지로 Map 인터페이스를 상속받는다.
따라서 Hashtable ㅡㅋㄹ래스에서 사용할 수 있는 메소드는 HashMap 클레스에서 사용할 수 있는 메소드와 같다.
하지만 현재에는 기존 코드와의 호환성을 위해서만 남아있으므로 Hashtable 클래스보다는 HashMap 클래스를 사용하는 것이 좋다.


*TreeMap<K, V> 클래스
TreeMap 클래스는 키와 값을 한쌍으로 하는 데이터를 이진 검색 트리의 형태로 저장한다.
이진 검색 트리는 데이터를 추가하거나 제거하는 등의 기본 동작 시간이 매우 빠르다.
JDK 1.2 부터 제공된 TreeMap 클래스는 NavigableMap 인터페이스를 기존의 이진 검색 트릐의 성능을 향상시킨 레드-블랙 트리로 구현한다.

TreeMap 클래스는 Map 인터페이스를 구현하므로, 중복된 키로는 값을 저장할 수 없다.
하지만 같은 값을 다른 키로 저장하는 것은 가능하다.

'Java' 카테고리의 다른 글

자바 스트림API  (0) 2021.08.16
자바 람다식표현  (0) 2021.08.16
자바 Stack 과 Queue  (0) 2021.08.09
자바 List 컬렉션 클래스  (0) 2021.08.09
자바 제네릭  (0) 2021.08.09