JavaTM 2 Platform
Standard Ed. 5.0

java.util
클래스 EnumMap<K extends Enum <K>, V>

java.lang.Object 
  상위를 확장 java.util.AbstractMap <K, V>
      상위를 확장 java.util.EnumMap<K, V>
모든 구현된 인터페이스:
Serializable, Cloneable, Map <K, V>

public class EnumMap<K extends Enum <K>, V>
extends AbstractMap <K, V>
implements Serializable, Cloneable

enum 형의 키로 사용하기 위한 특수한 Map 구현입니다. enum 맵내의 키는 모두, 맵의 작성시에 지정된 단일의 enum 형으로부터 명시적 또는 암묵적으로 생성될 필요가 있습니다. enum 맵은 내부에서는 배열로서 표현됩니다. 이 표현은 매우 간결하고 효율적입니다.

enum 맵은 키의 「자연 순서」(enum 정수의 선언되는 순서)로 관리됩니다. 이것은 코레크션뷰 (keySet(), entrySet()values() )에 의해 리턴된 반복자에게 반영됩니다.

코레크션뷰에 의해 리턴된 반복자는 「약일관성」을 보관 유지합니다. 이것들이 ConcurrentModificationException를 Throw 할 것은 없습니다. 또, 반복의 진행중에 실행되는 맵에의 변경의 영향을 표시하는 일도, 비표시로 하는 일도 가능합니다.

null 키는 허가되지 않습니다. null 키를 삽입하려고 하면, NullPointerException을 발생시킵니다. 다만, null 키의 존재를 테스트하거나 삭제를 시도하는 경우는 정상적으로 기능합니다. null 치는 지정 가능합니다.

대부분의 컬렉션 구현과 같이, EnumMap는 동기 되지 않습니다. 복수의 thread가 동시에 enum 맵에 접속해, 그러한 thread의 적어도 1개이 맵을 변경하는 경우에는 외부에서 동기를 잡을 필요가 있습니다. 보통, 이것은 enum 맵을 자연스럽게 캡슐화하는 몇개의 객체로 동기를 잡는 것에 의해 달성됩니다. 이런 종류의 객체가 없는 경우에는 Collections.synchronizedMap(java.util.Map) 메서드를 사용해 맵을 「랩」할 필요가 있습니다. 우발적인 비동기 액세스를 막기 위해서 작성시에 랩을 실시하는 것이 최선입니다.


     Map<EnumKey, V> m = Collections.synchronizedMap(new EnumMap(...));
 

구현상의 주의: 기본의 오퍼레이션은 모두 일정시간에 실행됩니다. 이것들은 보통, HashMap 대응하는 오퍼레이션보다 고속으로 동작합니다 (다만 보증외).

이 클래스는 Java Collections Framework 멤버입니다.

도입된 버전 :
1.5
관련 항목:
EnumSet, 직렬화 된 형식

중첩(Nested) 클래스 개요
 
인터페이스 java.util. Map 로부터 상속된 중첩(Nested) 클래스/인터페이스
Map.Entry <K, V >
 
생성자 개요
EnumMap (Class <K > keyType)
          지정된 키의 형태를 사용해 비어있는 enum 맵을 작성합니다.
EnumMap (EnumMap <K, ? extends V > m)
          지정된 enum 맵과 같은 키의 형태를 사용해, enum 맵을 작성합니다.
EnumMap (Map <K, ? extends V > m)
          지정된 맵으로부터 초기화된 enum 맵을 작성합니다.
 
메서드 개요
 void clear ()
          모든 매핑을 맵으로부터 삭제합니다.
 EnumMap <K, V > clone ()
          이 enum 맵의 샤로코피를 리턴합니다.
 boolean containsKey (Object  key)
          맵이 지정된 키의 매핑을 보관 유지하는 경우에 true를 리턴합니다.
 boolean containsValue (Object  value)
          맵이 1개 또는 복수의 키와 지정된 값을 매핑 하고 있는 경우에 true를 리턴합니다.
 Set <Map.Entry <K, V >> entrySet ()
          이 맵에 포함되는 맵 Set 뷰를 리턴합니다.
 boolean equals (Object  o)
          지정된 객체를 이 맵과 비교해 등가일지 어떨지를 조사합니다.
 V get (Object  key)
          맵이 지정된 키에 매핑 하고 있는 값을 리턴합니다.
 Set <K > keySet ()
          이 맵에 포함되는 키 Set 뷰를 리턴합니다.
 V put (K  key, V  value)
          지정된 값과 지정된 키를 이 맵에 관련짓습니다.
 void putAll (Map <? extends K, ? extends V > m)
          지정된 맵으로부터 모든 매핑을 맵에 카피합니다.
 V remove (Object  key)
          키에 대한 매핑이 있으면, 그 키를 맵으로부터 삭제합니다.
 int size ()
          맵내의 키와 값의 매핑의 수를 리턴합니다.
 Collection <V > values ()
          이 맵에 포함되는 값 Collection 뷰를 리턴합니다.
 
클래스 java.util. AbstractMap 로부터 상속된 메서드
hashCode, isEmpty, toString
 
클래스 java.lang. Object 로부터 상속된 메서드
finalize, getClass, notify, notifyAll, wait, wait, wait
 

생성자 상세

EnumMap

public EnumMap(Class <K > keyType)
지정된 키의 형태를 사용해 비어있는 enum 맵을 작성합니다.

파라미터:
keyType - 이 enum 맵용의 키형의 클래스 객체
예외:
NullPointerException - keyType가 null인 경우

EnumMap

public EnumMap(EnumMap <K,
?  extends V > m)
지정된 enum 맵과 같은 키의 형태를 사용해, enum 맵을 작성합니다. 처음은 같은 매핑을 포함한 enum 맵을 작성합니다 (같은 매핑이 존재하는 경우).

파라미터:
m - 이 enum 맵의 초기화원의 enum 맵
예외:
NullPointerException - m가 null인 경우

EnumMap

public EnumMap(Map <K,
?  extends V > m)
지정된 맵으로부터 초기화된 enum 맵을 작성합니다. 지정된 맵이 EnumMap 인스턴스의 경우, 이 생성자는 EnumMap(EnumMap) 와 같은 동작을 합니다. 그 외의 경우는 지정된 맵이 매핑을 1개 이상 포함하고 있을 필요가 있습니다 (새로운 enum 맵의 키의 형태를 판정하기 위해).

파라미터:
m - 이 enum 맵의 초기화원의 맵
예외:
IllegalArgumentException - mEnumMap 인스턴스가 아니고, 매핑을 포함하지 않는 경우
NullPointerException - m가 null인 경우
메서드의 상세

size

public int size()
맵내의 키와 값의 매핑의 수를 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 size
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 size
반환값:
맵내의 키와 값의 매핑의 수

containsValue

public boolean containsValue(Object  value)
맵이 1개 또는 복수의 키와 지정된 값을 매핑 하고 있는 경우에 true를 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 containsValue
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 containsValue
파라미터:
value - 맵에 있을지 어떨지를 판정되는 값
반환값:
이 맵이 1개 이상의 키를 이 값에 매핑 하는 경우는 true

containsKey

public boolean containsKey(Object  key)
맵이 지정된 키의 매핑을 보관 유지하는 경우에 true를 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 containsKey
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 containsKey
파라미터:
key - 맵에 있을지 어떨지가 판정되는 키
반환값:
맵이 지정된 키의 매핑을 보관 유지하는 경우는 true

get

public V  get(Object  key)
맵이 지정된 키에 매핑 하고 있는 값을 리턴합니다. 이 키에 대한 매핑이 맵에 없는 경우는 null을 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 get
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 get
파라미터:
key - 관련된 값이 리턴된 키
반환값:
맵이 지정된 키에 매핑 하고 있는 값. 이 키에 대한 매핑이 맵에 없는 경우는 null
관련 항목:
AbstractMap.containsKey(Object)

put

public V  put(K  key,
             V  value)
지정된 값과 지정된 키를 이 맵에 관련짓습니다. 맵이 이전에 이 키의 매핑을 보관 유지하고 있었을 경우, 낡은 값을 옮겨놓을 수 있습니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 put
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 put
파라미터:
key - 지정되는 값을 관련된 키
value - 지정되는 키에 관련된 값
반환값:
지정된 키에 관련한 낡은 값. 또는 키의 매핑이 없었던 경우는 null. 반환값 null는 맵이 이전에 null와 지정된 키를 관련짓고 있던 것을 나타내는 경우도 있다
예외:
NullPointerException - 지정된 키가 null 인 경우

remove

public V  remove(Object  key)
키에 대한 매핑이 있으면, 그 키를 맵으로부터 삭제합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 remove
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 remove
파라미터:
key - 매핑이 맵으로부터 삭제되는 키
반환값:
지정된 키에 관련한 낡은 값. 또는 키의 엔트리가 없었던 경우는 null. 반환값 null는 맵이 이전에 null와 지정된 키를 관련짓고 있던 것을 나타내는 경우도 있다

putAll

public void putAll(Map <?  extends K,
?  extends V > m)
지정된 맵으로부터 모든 매핑을 맵에 카피합니다. 이것에 의해 맵이 지정된 맵내에 현재 있는 키의 모두에 대해서 가지고 있던 매핑을 옮겨놓을 수 있습니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 putAll
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 putAll
파라미터:
m - 이 맵에 포함되는 매핑
예외:
NullPointerException - 지정된 맵이 null인 경우, 지정된 맵내의 1개 또는 복수의 키가 null이 된다

clear

public void clear()
모든 매핑을 맵으로부터 삭제합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 clear
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 clear

keySet

public Set <K > keySet()
이 맵에 포함되는 키 Set 뷰를 리턴합니다. 리턴된 세트는 Map.keySet()에 개설되고 있는 범용 규약에 따릅니다. 세트의 반복자는 자연 순서 (enum 정수의 선언된 순서)에 따라 키를 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 keySet
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 keySet
반환값:
enum 맵에 포함되는 키의 셋트뷰

values

public Collection <V > values()
이 맵에 포함되는 값 Collection 뷰를 리턴합니다. 리턴된 컬렉션은, Map.values()에 개설되고 있는 범용 규약에 따릅니다. 컬렉션의 반복자는 대응하는 키가 맵내에 표시되는 자연 순서 (enum 정수의 선언된 순서)에 따라 값을 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 values
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 values
반환값:
맵내에 포함되어 있는 값의 코레크션뷰

entrySet

public Set <Map.Entry <K,
V >> entrySet()
이 맵에 포함되는 맵 Set 뷰를 리턴합니다. 리턴된 세트는 Map.keySet()에 개설되고 있는 범용 규약에 따릅니다. 세트의 반복자는 키가 맵내에 표시되는 자연 순서 (enum 정수의 선언된 순서)에 따라 매핑을 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 entrySet
정의:
클래스 AbstractMap <K extends Enum <K >, V > 내의 entrySet
반환값:
enum 맵에 포함되는 매핑의 셋트뷰

equals

public boolean equals(Object  o)
지정된 객체를 이 맵과 비교해 등가일지 어떨지를 조사합니다. 지정된 객체도 맵이며, 2개의 맵이 Map.equals(Object) 규약으로 지정된 것과 같은 매핑을 나타내는 경우, true를 리턴합니다.

정의:
인터페이스 Map <K extends Enum <K >, V > 내의 equals
오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 equals
파라미터:
o - 맵과 동일한지 어떤지를 비교하는 객체
반환값:
지정된 객체가 맵과 동일한 경우는 true
관련 항목:
Object.hashCode(), Hashtable

clone

public EnumMap <K,
V > clone()
이 enum 맵의 샤로코피를 리턴합니다. 값자신은 복제되지 않습니다.

오버라이드(override):
클래스 AbstractMap <K extends Enum <K >, V > 내의 clone
반환값:
이 enum 맵의 샤로코피
관련 항목:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조하십시오.