본문 바로가기

Programming/JAVA

컬렉션 프레임워크(4) - Map 컬렉션 1 : Map의 개념[2/2]

JAVA logo image

 

 

 

 

앞서서 Map에서의 간단한 공통 인터페이스 메서드를 살펴보았습니다. 

 

 

컬렉션 프레임워크(4) - Map 컬렉션 1 : Map의 개념[1/2]

이번에는 Map 컬렉션에 대해서 살펴보겠습니다. Map 컬렉션은 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조입니다. 중요한 특성 중 하나는, key는 중복 저장할 수 없으며 value는 중복 저

nozeroslope.tistory.com

 

 

우리가 어떤 객체의 키를 이미 알고 있다면, get( ) 메서드를 이용해 간단하게 객체를 찾아올 수 있습니다. 하지만 저장된 전체 객체를 하나씩 얻어서 처리하려는 경우에는 두 가지 방법을 사용할 수 있습니다. 

 

1. keySet( ) 메서드 사용

2. entrySet( ) 메서드 사용

 

각각의 방법을 살펴보겠습니다. 우선, keySet( ) 메서드를 사용하는 경우를 살펴볼까요? 일단 keySet( ) 메서드를 사용해 모든 key를 Set 컬렉션으로 얻어냅니다. 그리고, 반복자를 사용해 key를 하나씩 얻은 다음 get( ) 메서드를 사용해 value를 얻는 방식입니다. 

 

Map<K, V> map = ~;
Set<K> keySet = map.keySet();
Iterator<K> keyIterator = keySet.iterator();
while(keyIterator.hasNext()) {
    K key = keyIterator.next();
    V value = map.get(key);
}

 

 

두 번째 방법은, entrySet( ) 메서드를 사용해 모든 Map.Entry를 Set 컬렉션으로 획득합니다. 그리고 반복자를 통해 Map.Entry를 하나씩 얻고, 그다음 getKey( )와 getValue( ) 메서드를 이용해 key와 value를 획득하는 방법입니다. 

 

Set<Map.Entry<K, V>> entrySet = map.entrySet();
Iterator<Map.Entry<K, V>> entryIterator = entrySet.iterator();
while(entryIterator.hasNext()) {
    Map.Entry<K, V> entry = entryIterator.next();
    K key= entry.getKey();
    V value = entry.getValue();
}

 

이제 Map의 인터페이스를 구현하는 다양한 Map 컬렉션 중 HashMap / Hashtable / Properties에 대해서 살펴보겠습니다.