umontreal.iro.lecuyer.collections
Class MergedMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
umontreal.iro.lecuyer.collections.MergedMap<K,V>
- Type Parameters:
K
- the type of the keys in the merged map.V
- the type of the values in the merged map.
- All Implemented Interfaces:
- Map<K,V>
public class MergedMap<K,V>
- extends AbstractMap<K,V>
Represents a map merging two maps. A merged map is constructed from two maps
map1 and map2, contains the keys of both maps, and is
immutable. However, any change to the inner maps is reflected on the merged
map. Note that if both maps contain the same key, the key appears only once
in the merged map, and the corresponding value comes from the entry in the
first map. The iterators returned by this implementation enumerates the
elements of the first map, then the elements of the second map.
Nested classes/interfaces inherited from interface java.util.Map |
Map.Entry<K,V> |
Constructor Summary |
MergedMap(Map<? extends K,? extends V> map1,
Map<? extends K,? extends V> map2)
Constructs a new merged map from maps map1 and map2. |
MergedMap
public MergedMap(Map<? extends K,? extends V> map1,
Map<? extends K,? extends V> map2)
- Constructs a new merged map from maps map1 and map2.
- Parameters:
map1
- the first map.map2
- the second map.
- Throws:
NullPointerException
- if map1 or map2 are null.
getFirstMap
public Map<? extends K,? extends V> getFirstMap()
- Returns a reference to the first map in this merged map.
- Returns:
- the first map.
getSecondMap
public Map<? extends K,? extends V> getSecondMap()
- Returns a reference to the second map in this merged map.
- Returns:
- the second map.
entrySet
public Set<Map.Entry<K,V>> entrySet()
- Specified by:
entrySet
in interface Map<K,V>
- Specified by:
entrySet
in class AbstractMap<K,V>
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interface Map<K,V>
- Overrides:
containsKey
in class AbstractMap<K,V>
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interface Map<K,V>
- Overrides:
containsValue
in class AbstractMap<K,V>
get
public V get(Object key)
- Specified by:
get
in interface Map<K,V>
- Overrides:
get
in class AbstractMap<K,V>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface Map<K,V>
- Overrides:
isEmpty
in class AbstractMap<K,V>
size
public int size()
- Specified by:
size
in interface Map<K,V>
- Overrides:
size
in class AbstractMap<K,V>
To submit a bug or ask questions, send an e-mail to
Richard Simard.