|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Object java.util.AbstractMap <K, V> java.util.EnumMap<K, V>
public class EnumMap<K extends Enum <K>, V>
enum 형의 키로 사용하기 위한 특수한 Map
구현입니다. enum 맵내의 키는 모두, 맵의 작성시에, 지정된 단일의 enum 형으로부터 명시적 또는 암묵적으로 생성될 필요가 있습니다. enum 맵은, 내부에서는 배열로서 표현됩니다. 이 표현은, 매우 간결하고 효율적입니다.
enum 맵은, 키의 「자연 순서」(enum 정수의 선언되는 순서)로 관리됩니다. 이것은, 코레크션뷰 (keySet()
,entrySet()
, 및 values()
)에 의해 반환되는 반복자에게 반영됩니다.
코레크션뷰에 의해 반환되는 반복자는, 「약일관성」을 보관 유지합니다. 이것들이 ConcurrentModificationException
를 throw 할 것은 없습니다. 또, 반복의 진행중에 실행되는 맵에의 변경의 영향을 표시하는 일도, 비표시로 하는 일도 가능합니다.
null 키는 허가되지 않습니다. null 키를 삽입하려고 하면(자),NullPointerException
가 throw 됩니다. 다만, null 키의 존재를 테스트하거나 삭제를 시도하는 경우는 정상적으로 기능합니다. null 치는 지정 가능합니다.
대부분의 컬렉션 구현과 같이,EnumMap 는 동기 되지 않습니다. 복수의 thread가 동시에 enum 맵에 액세스 해, 그러한 thread의 적어도 1 개(살)이 맵을 변경하는 경우에는, 외부에서 동기를 잡을 필요가 있습니다. 일반적으로, 이것은, enum 맵을 자연스럽게 캡슐화하는 몇개의 객체로 동기를 잡는 것에 의해 달성됩니다. 이런 종류의 객체가 없는 경우에는,Collections.synchronizedMap(java.util.Map
메소드를 사용해 맵을 「랩」할 필요가 있습니다. 이것은, 우발적인 비동기 액세스를 막기 위해서(때문에), 작성시에 실시하는 것이 최적입니다.
Map<EnumKey, V> m = Collections.synchronizedMap(new EnumMap<EnumKey, V>(...));
구현상의 주의:기본의 오퍼레이션은 모두 일정시간에 실행됩니다. 이것들은 일반적으로,HashMap
의 대응하는 오퍼레이션보다 고속으로 동작합니다 (다만 보증외).
이 클래스는,Java Collections Framework 의 멤버입니다.
EnumSet
,
직렬화 된 형식 상자의 클래스의 개요 |
---|
클래스 java.util. AbstractMap 로부터 상속된 상자의 클래스/인터페이스 |
---|
AbstractMap.SimpleEntry <K ,V >, AbstractMap.SimpleImmutableEntry <K ,V > |
인터페이스 java.util. Map 로부터 상속된 상자의 클래스/인터페이스 |
---|
Map.Entry <K ,V > |
생성자 의 개요 | |
---|---|
EnumMap (Class <K > keyType)
지정된 키의 형태를 사용해 빈 상태(empty)의 enum 맵을 작성합니다. |
|
EnumMap (EnumMap <K ,? extends V > m)
지정된 enum 맵과 같은 키의 형태를 사용해, enum 맵을 작성합니다. |
|
EnumMap (Map <K ,? extends V > m)
지정된 맵으로부터 초기화된 enum 맵을 작성합니다. |
메소드의 개요 | |
---|---|
void |
clear ()
모든 매핑을 맵으로부터 삭제합니다. |
EnumMap <K ,V > |
clone ()
이 enum 맵의 shallow 복사를 돌려줍니다. |
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 |
생성자 의 상세 |
---|
public EnumMap(Class <K > keyType)
keyType
- 이 enum 맵용의 키형의 클래스 객체
NullPointerException
- keyType 가 null 의 경우public EnumMap(EnumMap <K ,? extends V > m)
m
- 이 enum 맵의 초기화원의 enum 맵
NullPointerException
- m 가 null 의 경우public EnumMap(Map <K ,? extends V > m)
EnumMap(EnumMap)
와 같은 동작을 합니다. 그 이외의 경우는, 지정된 맵이 매핑을 1 개 이상 포함하고 있을 필요가 있습니다 (신규 enum 맵의 키의 형태를 판정하기 위해(때문에)).
m
- 이 enum 맵의 초기화원의 맵
IllegalArgumentException
- m 가 EnumMap 인스턴스는 아니고, 매핑을 포함하지 않는 경우
NullPointerException
- m 가 null 의 경우메소드의 상세 |
---|
public int size()
Map <K extends Enum <K >,V >
내의 size
AbstractMap <K extends Enum <K >,V >
내의 size
public boolean containsValue(Object value)
Map <K extends Enum <K >,V >
내의 containsValue
AbstractMap <K extends Enum <K >,V >
내의 containsValue
value
- 맵에 있을지 어떨지를 판정되는 값
public boolean containsKey(Object key)
Map <K extends Enum <K >,V >
내의 containsKey
AbstractMap <K extends Enum <K >,V >
내의 containsKey
key
- 맵에 있을지 어떨지가 판정되는 키
public V get(Object key)
null
를 돌려줍니다.
즉, 이 메소드는,(key == k)
되는 키 k
로부터 값 v
에의 매핑이 이 맵에 포함되는 경우는 v
를 돌려주어, 그 이외의 경우는 null
를 돌려줍니다. 이러한 매핑이 1 개만 있습니다.
반환값의 null
는, 맵이 키의 매핑을 보관 유지하고 있지 않는 것을 나타낸다고는인가 선. 즉, 맵이 명시적으로 키를 null
에 맵 하는 일도 있습니다. containsKey
오퍼레이션을 사용하면(자), 이 2 개의 경우를 구별할 수 있습니다.
Map <K extends Enum <K >,V >
내의 get
AbstractMap <K extends Enum <K >,V >
내의 get
key
- 관련지을 수 있었던 값이 반환되는 키
null
public V put(K key, V value)
Map <K extends Enum <K >,V >
내의 put
AbstractMap <K extends Enum <K >,V >
내의 put
key
- 지정된 값을 관련지을 수 있는 키value
- 지정된 키에 관련지을 수 있는 값
NullPointerException
- 지정된 키가 null 인 경우public V remove(Object key)
Map <K extends Enum <K >,V >
내의 remove
AbstractMap <K extends Enum <K >,V >
내의 remove
key
- 매핑이 맵으로부터 삭제되는 키
public void putAll(Map <? extends K ,? extends V > m)
Map <K extends Enum <K >,V >
내의 putAll
AbstractMap <K extends Enum <K >,V >
내의 putAll
m
- 이 맵에 포함되는 매핑
NullPointerException
- 지정된 맵이 null 의 경우, 지정된 맵내의 1 개 또는 복수의 키가 null 가 된다public void clear()
Map <K extends Enum <K >,V >
내의 clear
AbstractMap <K extends Enum <K >,V >
내의 clear
public Set <K > keySet()
Set
뷰를 돌려줍니다. 반환되는 세트는,Map.keySet()
에 개설되고 있는 범용 규약에 따릅니다. 세트의 반복자는, 자연 순서 (enum 정수의 선언된 순서)에 따라 키를 돌려줍니다.
Map <K extends Enum <K >,V >
내의 keySet
AbstractMap <K extends Enum <K >,V >
내의 keySet
public Collection <V > values()
Collection
뷰를 돌려줍니다. 반환되는 컬렉션은,Map.values()
에 개설되고 있는 범용 규약에 따릅니다. 컬렉션의 반복자는, 대응하는 키가 맵내에 표시되는 자연 순서 (enum 정수의 선언된 순서)에 따라 값을 돌려줍니다.
Map <K extends Enum <K >,V >
내의 values
AbstractMap <K extends Enum <K >,V >
내의 values
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
public boolean equals(Object o)
Map.equals(Object)
규약으로 지정된 것과 같은 매핑을 나타내는 경우,true 를 돌려줍니다.
Map <K extends Enum <K >,V >
내의 equals
AbstractMap <K extends Enum <K >,V >
내의 equals
o
- 이 맵과 동일한지 어떤지를 비교하는 객체
Object.hashCode()
,
Hashtable
public EnumMap <K ,V > clone()
AbstractMap <K extends Enum <K >,V >
내의 clone
Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.