public class ChainedMap extends AbstractMap implements Serializable
The contents of the first map take precedence over the contents in the second map. If there are already entries in the two maps when this map is constructed, then the keys in the second map that are also in the first map will be removed from the second map.
Modifier and Type | Class and Description |
---|---|
class |
ChainedMap.EntrySet
A set of entries backed by this map.
|
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Modifier and Type | Field and Description |
---|---|
protected Map |
m_mapFirst
The first map.
|
protected Map |
m_mapSecond
The second map.
|
protected ChainedMap.EntrySet |
m_setEntries
The entry set.
|
Constructor and Description |
---|
ChainedMap(Map mapFirst, Map mapSecond)
Construct a ChainedMap out of two maps.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(Object oKey)
Returns true if this map contains a mapping for the specified key.
|
Set |
entrySet()
Returns a set view of the mappings contained in this map.
|
Object |
get(Object oKey)
Returns the value to which this map maps the specified key.
|
Map |
getFirstMap()
Get the first (front) map.
|
Map |
getSecondMap()
Get the second (back) map.
|
protected ChainedMap.EntrySet |
instantiateEntrySet()
(Factory pattern) Instantiate an Entry Set or subclass thereof.
|
Object |
put(Object oKey, Object oValue)
Associates the specified value with the specified key in this map.
|
Object |
remove(Object oKey)
Removes the mapping for this key from this map if present.
|
int |
size()
Returns the number of key-value mappings in this map.
|
clear, clone, containsValue, equals, hashCode, isEmpty, keySet, putAll, toString, values
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
protected Map m_mapFirst
protected Map m_mapSecond
protected transient ChainedMap.EntrySet m_setEntries
public Map getFirstMap()
Note: direct modifications of the returned map may cause an unpredictable behavior of the ChainedMap.
public Map getSecondMap()
Note: direct modifications of the returned map may cause an unpredictable behavior of the ChainedMap.
public int size()
size
in interface Map
size
in class AbstractMap
public boolean containsKey(Object oKey)
containsKey
in interface Map
containsKey
in class AbstractMap
oKey
- key whose presence in this map is to be testedpublic Object get(Object oKey)
get
in interface Map
get
in class AbstractMap
oKey
- key whose associated value is to be returnedpublic Object put(Object oKey, Object oValue)
put
in interface Map
put
in class AbstractMap
oKey
- key with which the specified value is to be associatedoValue
- value to be associated with the specified keypublic Object remove(Object oKey)
remove
in interface Map
remove
in class AbstractMap
oKey
- key whose mapping is to be removed from the mappublic Set entrySet()
entrySet
in interface Map
entrySet
in class AbstractMap
protected ChainedMap.EntrySet instantiateEntrySet()