AbstractMap — Map 인터페이스의 뼈대 구현

AbstractMap — Map 인터페이스의 뼈대 구현

Map 인터페이스를 구현하는 노력을 최소화하기 위한 뼈대 구현을 제공하는 추상 클래스예요.

출처: Java API Reference

본문

시그니처

public abstract class AbstractMap<K,V> extends Object
    implements Map<K,V>

타입 매개변수: K — 이 맵이 유지하는 키의 타입, V — 맵핑된 값의 타입.

설명

이 클래스는 Map 인터페이스의 뼈대 구현을 제공해요. 불변 맵을 구현하려면 프로그래머는 이 클래스를 확장하고 entrySet 메서드만 구현하면 되며, 이 메서드는 맵의 매핑에 대한 set-view를 반환해요. 보통 반환되는 set은 AbstractSet 위에 구현될 거예요. 이 set은 addremove 메서드를 지원하지 않아야 하고, 그 iterator도 remove 메서드를 지원하지 않아야 해요.

가변 맵을 구현하려면 프로그래머는 추가로 이 클래스의 put 메서드(그렇지 않으면 UnsupportedOperationException을 던짐)를 오버라이드해야 하고, entrySet().iterator()가 반환하는 iterator가 추가로 remove 메서드를 구현해야 해요.

프로그래머는 보통 Map 인터페이스 사양의 권장에 따라 void(무인자) 및 map 생성자를 제공해야 해요. 각 비-추상 메서드에 대한 문서는 구현을 자세히 설명해요. 구현되는 맵이 더 효율적인 구현을 허용한다면 각 메서드를 오버라이드할 수 있어요.

이 클래스는 Java Collections Framework의 구성원이에요.

주요 메서드

  • clear() — 이 맵에서 모든 매핑을 제거해요 (선택 연산).
  • clone() — 이 AbstractMap 인스턴스의 얕은 복사본을 반환해요. 키와 값 자체는 복제되지 않아요.
  • containsKey(Object key) — 이 맵이 지정한 키에 대한 매핑을 포함하면 true를 반환해요.
  • containsValue(Object value) — 이 맵이 하나 이상의 키를 지정한 값에 매핑하면 true를 반환해요.
  • entrySet() — 이 맵에 포함된 매핑의 Set 뷰를 반환해요.
  • get(Object key) — 이 맵에서 지정한 키가 매핑된 값을 반환해요.
  • keySet() — 이 맵에 포함된 키의 Set 뷰를 반환해요.
  • put(K key, V value) — 지정한 값과 지정한 키를 이 맵에 연관시켜요 (선택 연산).
  • remove(Object key) — 지정한 키의 매핑을 이 맵에서 제거해요 (선택 연산).
  • size() — 이 맵의 키-값 매핑 수를 반환해요.

더 알아보기 (Learn more)