Map 컬렉션(Map<K, V>)
Map 컬렉션은 키(key)와 값(value)으로 구성된 객체를 저장하는 구조를 갖는다. 키는 중복으로 저장할 수 없고 값은 중복으로 저장할 수 있다.(동일한 key로 값을 추가하면 기존 key에 해당하는 값은 제거된다.) 따라서 Map 컬렉션은 키(key)로 데이터를 관리한다. Map 컬렉션을 구현하는 대표적인 클래스들은 HashMap, Hashtable, LinkedHashMap, TreeMap 등이 있다. 공통적으로 사용되는 주요 메서드들은 put, get, remove, keySet 등이 있다.
K와 V는 제네릭으로 K는 key 타입, V는 value 타입을 의미한다. K와 V는 기본 자료형(int, double, boolean 등)은 사용할 수 없고 클래스나 인터페이스 타입만 사용이 가능하다.
Map에 저장된 값을 가져오기 위해서는 get 메서드로 key 값을 입력하여 하나씩 가져오거나, keySet 및 entrySet 메서드를 이용하여 Set 컬렉션에 key 및 value를 저장하여 반복문을 통해 가져올 수 있다. 해당 내용에 대한 예제는 구현 클래스에서 알아보도록 하겠다.
HashMap
HashMap은 Map 컬렉션의 대표적인 구현 클래스이다. HashMap을 생성하는 방법은 아래와 같다.
예제를 통해서 HashMap을 사용하는 방법에 대해서 간단히 알아보자.
설명은 예제의 주석 부분을 참고하면 된다.
Hashtable
Hashtable은 HashMap과 동일한 사용법을 갖는다. 차이점은 Hashtable은 동기화(synchronization)를 보장한다. 따라서 멀티 스레드에서는 Hashtable을 사용해야 하고, 단일 스레드에서는 HashMap을 사용하는 게 유리하다. Hashtable을 생성하는 방법은 아래와 같다.
이번에는 Hashtable을 생성하고 entrySet 메서드를 이용하여 데이터를 출력하는 방법을 알아보자.
'자료구조' 카테고리의 다른 글
자바 스택(Stack), 큐(Queue) (0) | 2018.07.20 |
---|---|
[JAVA 자바] Set - HashSet, TreeSet, LinkedHashSet (0) | 2018.07.12 |
[JAVA 자바] Collection-List- (ArrayList, Vector, LinkedList) (0) | 2018.07.12 |
자바 collection 자료구조 의미 / 종류 / 차이점 (0) | 2018.07.11 |