본문 바로가기

Programming/JAVA

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

JAVA logo image

 

 

 

 

이번에는 Map 컬렉션에 대해서 살펴보겠습니다. Map 컬렉션은 키(key)값(value)으로 구성된 Entry 객체를 저장하는 구조입니다. 중요한 특성 중 하나는, key는 중복 저장할 수 없으며 value는 중복 저장이 가능하다는 점입니다. - 만일 기존 키와 동일한 key로 특정 value를 저장하게 되면 기존의 value는 없어지고, 새로운 value로 대치하게 됩니다. 

 

 

 

Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있는데 여기서는 우선 Map 컬렉션에서 공통으로 사용되는 Map 인터페이스의 메서드를 확인해 보겠습니다. Map 컬렉션은 Key를 통해서 객체를 호출하고 관리하는 경우가 많기 때문에, 키를 파라미터 값으로 갖는 경우가 다수입니다. 

 

기능 메서드 Description
객체 추가 V put(K key, V value) 주어진 키와 값을 추가하고 저장이 완료되면 값을 리턴한다.
객체 검색 boolean containsKey(Object key) 주어진 키가 있는지 여부를 리턴
boolean containsValue(Object value) 주어진 값이 있는지 여부를 리턴
Set< Map.Entry<K, V> > entrySet() 키와 값의 쌍으로 구성된 모든 Map.Entry 객체를 Set에 담아서 리턴
V get(Object key) 주어진 키가 있는 값을 리턴한다
boolean isEmpty() 컬렉션이 비어 있는지 여부를 리턴한다.
Set<K> keySet() 모든 키를 Set 객체에 담아서 리턴한다.
int size() 저장된 키의 총 수를 리턴
Collection<V> values() 저장된 모든 값을 Collection에 담아서 리턴
객체 삭제 void clear() 모든 Map.Entry를 삭제한다.
V remove(Object key) 주어진 키와 일치하는 Map.Entry를 삭제한 후 값을 리턴한다.

 

 

위 메서드의 파라미터 중, K와 V라는 타입 파라미터가 존재하는데 이는 Map 인터페이스가 제네릭 타입이기 때문입니다. 역시나 구체적인 타입의 경우 구현 객체를 생성할 때 비로소 결정됩니다. 위에서 설명한 메서드 중 가장 기본적인 것만 먼저 설명하자면 객체 추가는 put() 메서드를 사용하고, 키로 객체를 찾을 때는 get()을 사용합니다. 그리고 객체 삭제는 remove()를 이용합니다. 

 

사용 예시를 들어보자면, 아래와 같습니다. 

 

Map<String, Integer> map = ~;
map.put("SWINGS", 30);
int score = map.get("SWINGS");
map.remove("SWINGS");

 

 

ㅇㅇ