public class EnumMap<K extends Enum<K>,V> extends AbstractMap<K,V> implements Serializable, Cloneable, Map<K,V>
Map
specialized for use with Enum
types as keys.AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
EnumMap(Class<K> keyType)
Constructs an empty
EnumMap using the given key type. |
EnumMap(EnumMap<K,? extends V> map)
Constructs an
EnumMap using the same key type as the given EnumMap and
initially containing the same mappings. |
EnumMap(Map<K,? extends V> map)
Constructs an
EnumMap initialized from the given map. |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all elements from this
EnumMap , leaving it empty. |
EnumMap<K,V> |
clone()
Returns a shallow copy of this
EnumMap . |
boolean |
containsKey(Object key)
Returns whether this
EnumMap contains the specified key. |
boolean |
containsValue(Object value)
Returns whether this
EnumMap contains the specified value. |
Set<Map.Entry<K,V>> |
entrySet()
Returns a
Set containing all of the mappings in this EnumMap . |
boolean |
equals(Object object)
Compares the argument to the receiver, and returns
true if the
specified Object is an EnumMap and both EnumMap s contain the same mappings. |
V |
get(Object key)
Returns the value of the mapping with the specified key.
|
Set<K> |
keySet()
Returns a set of the keys contained in this
EnumMap . |
V |
put(K key,
V value)
Maps the specified key to the specified value.
|
void |
putAll(Map<? extends K,? extends V> map)
Copies every mapping in the specified
Map to this EnumMap . |
V |
remove(Object key)
Removes a mapping with the specified key from this
EnumMap . |
int |
size()
Returns the number of elements in this
EnumMap . |
Collection<V> |
values()
Returns a
Collection of the values contained in this EnumMap . |
hashCode, isEmpty, toString
public EnumMap(Class<K> keyType)
EnumMap
using the given key type.keyType
- the class object giving the type of the keys used by this EnumMap
.NullPointerException
- if keyType
is null
.public EnumMap(EnumMap<K,? extends V> map)
EnumMap
using the same key type as the given EnumMap
and
initially containing the same mappings.map
- the EnumMap
from which this EnumMap
is initialized.NullPointerException
- if map
is null
.public EnumMap(Map<K,? extends V> map)
EnumMap
initialized from the given map. If the given map
is an EnumMap
instance, this constructor behaves in the exactly the same
way as EnumMap(EnumMap)
}. Otherwise, the given map
should contain at least one mapping.map
- the map from which this EnumMap
is initialized.IllegalArgumentException
- if map
is not an EnumMap
instance and does not contain
any mappings.NullPointerException
- if map
is null
.public void clear()
EnumMap
, leaving it empty.public boolean containsKey(Object key)
EnumMap
contains the specified key.containsKey
in interface Map<K extends Enum<K>,V>
containsKey
in class AbstractMap<K extends Enum<K>,V>
key
- the key to search for.true
if this EnumMap
contains the specified key,
false
otherwise.public boolean containsValue(Object value)
EnumMap
contains the specified value.containsValue
in interface Map<K extends Enum<K>,V>
containsValue
in class AbstractMap<K extends Enum<K>,V>
value
- the value to search for.true
if this EnumMap
contains the specified value,
false
otherwise.public Set<Map.Entry<K,V>> entrySet()
Set
containing all of the mappings in this EnumMap
. Each mapping is
an instance of Map.Entry
. As the Set
is backed by this EnumMap
,
changes in one will be reflected in the other.
The order of the entries in the set will be the order that the enum keys were declared in.
public boolean equals(Object object)
true
if the
specified Object
is an EnumMap
and both EnumMap
s contain the same mappings.equals
in interface Map<K extends Enum<K>,V>
equals
in class AbstractMap<K extends Enum<K>,V>
object
- the Object
to compare with this EnumMap
.true
if object
is the same as this EnumMap
,
false
otherwise.AbstractMap.hashCode()
,
entrySet()
public Set<K> keySet()
EnumMap
. The Set
is backed by
this EnumMap
so changes to one are reflected in the other. The Set
does not
support adding.
The order of the set will be the order that the enum keys were declared in.
public V put(K key, V value)
put
in interface Map<K extends Enum<K>,V>
put
in class AbstractMap<K extends Enum<K>,V>
key
- the key.value
- the value.null
if there was no mapping.UnsupportedOperationException
- if adding to this map is not supported.ClassCastException
- if the class of the key or value is inappropriate for this
map.IllegalArgumentException
- if the key or value cannot be added to this map.NullPointerException
- if the key or value is null
and this EnumMap
does not
support null
keys or values.public void putAll(Map<? extends K,? extends V> map)
Map
to this EnumMap
.putAll
in interface Map<K extends Enum<K>,V>
putAll
in class AbstractMap<K extends Enum<K>,V>
map
- the Map
to copy mappings from.UnsupportedOperationException
- if adding to this EnumMap
is not supported.ClassCastException
- if the class of a key or value is inappropriate for this
EnumMap
.IllegalArgumentException
- if a key or value cannot be added to this map.NullPointerException
- if a key or value is null
and this EnumMap
does not
support null
keys or values.public V remove(Object key)
EnumMap
.remove
in interface Map<K extends Enum<K>,V>
remove
in class AbstractMap<K extends Enum<K>,V>
key
- the key of the mapping to remove.null
if no mapping
for the specified key was found.UnsupportedOperationException
- if removing from this EnumMap
is not supported.public int size()
EnumMap
.public Collection<V> values()
Collection
of the values contained in this EnumMap
. The returned
Collection
complies with the general rule specified in
Map.values()
. The Collection
's Iterator
will return the values
in the their corresponding keys' natural order (the Enum
constants are
declared in this order).
The order of the values in the collection will be the order that their corresponding enum keys were declared in.