|
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
をスローすることはありません。 また、反復の進行中に実行されるマップへの変更の影響を表示することも、非表示にすることも可能です。
null キーは許可されません。null キーを挿入しようとすると、NullPointerException
がスローされます。ただし、null キーの存在をテストしたり、削除を試みる場合は正常に機能します。null 値 は指定可能です。
大半のコレクション実装と同様、EnumMap は同期されません。複数のスレッドが同時に enum マップにアクセスし、それらのスレッドの少なくとも 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)
指定されたキーの型を使用して空の 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 |
コンストラクタの詳細 |
---|
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 も参照してください。