언어(Language)/Java

[Java] 자바 Map<K, V> 인터페이스 개념 정리

잇트루 2022. 9. 23. 00:00
반응형

Map

Map 인터페이스는 키(Key)와 값(Value)으로 구성된 객체를 저장하는 구조이다. 키와 값으로 구성된 객체를 Entry 객체라고 한다.

즉, Map 인터페이스는 Entry 객체를 저장하는 구조이며, Entry 객체는 Key 객체와 Value 객체로 저장한다.

Map을 사용할 때에 주의할 점은, 키(Key)는 중복 저장이 불가능하며, 값(Value)은 중복 저장이 가능하다. 또한 저장 순서도 유지되지 않는다.

키는 값을 식별하는 용도로 사용되기 때문이다.

 

Map 인터페이스를 구현한 클래스는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다.

 

다음은 Map 인터페이스를 구현한 클래스에서 공통적으로 사용 가능한 메서드이다.

put(Object key, Object value)

주어진 키로 값을 저장하는 메서드로 해당 키가 새로운 키일 경우 null을 리턴 하지만, 동일한 키가 있을 경우에는 기존의 값을 대체하고 대체되기 이전의 값을 리턴한다.

 

containsKey(Object key)

주어진 키가 있으면 true, 없으면 false를 반환한다.

 

containsValue(Object value)

주어진 값이 있으면 true, 없으면 false를 반환한다.

 

entrySet()

키와 값의 쌍으로 구성된 모든 Map.Entry 객체를 Set에 담아서 리턴한다.

 

get(Object key)

주어진 키에 해당하는 값을 리턴한다.

 

isEmpty()

컬렉션이 비어있는지 확인한다. 비어있으면 true, 비어있지 않으면 false를 반환한다.

 

keySet()

모든 키를 Set 객체에 담아서 리턴한다.

 

size()

저장된 Entry 객체의 총개수를 리턴한다.

 

values()

저장된 모든 값을 Collection에 담아서 리턴한다.

 

clear()

모든 Map.Entry 객체를 삭제한다. (키와 값 모두 삭제)

 

remove(Object key)

주어진 키와 일치하는 Map.Entry 객체를 삭제하고 값을 리턴한다.

List는 인덱스를 기준으로 관리되는 반면에, Map은 키(Key)로 객체들을 관리하기 때문에 키를 매개 값으로 갖는 메서드가 많다.

반응형