AbstractMap — Map 인터페이스의 뼈대 구현
AbstractMap — Map 인터페이스의 뼈대 구현
Map 인터페이스를 구현하는 노력을 최소화하기 위한 뼈대 구현을 제공하는 추상 클래스예요.
본문
시그니처
public abstract class AbstractMap<K,V> extends Object
implements Map<K,V>
타입 매개변수: K — 이 맵이 유지하는 키의 타입, V — 맵핑된 값의 타입.
설명
이 클래스는 Map 인터페이스의 뼈대 구현을 제공해요. 불변 맵을 구현하려면 프로그래머는 이 클래스를 확장하고 entrySet 메서드만 구현하면 되며, 이 메서드는 맵의 매핑에 대한 set-view를 반환해요. 보통 반환되는 set은 AbstractSet 위에 구현될 거예요. 이 set은 add나 remove 메서드를 지원하지 않아야 하고, 그 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()— 이 맵의 키-값 매핑 수를 반환해요.