Class TreeBidiMap.Inverse
- java.lang.Object
-
- org.apache.commons.collections.bidimap.TreeBidiMap.Inverse
-
- All Implemented Interfaces:
java.util.Map,BidiMap,IterableMap,OrderedBidiMap,OrderedMap
- Enclosing class:
- TreeBidiMap
static class TreeBidiMap.Inverse extends java.lang.Object implements OrderedBidiMap
A node used to store the data.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.SetentrySetStore the entrySet once created.private java.util.SetkeySetStore the keySet once created.private TreeBidiMapmainThe parent map.private java.util.SetvaluesSetStore the valuesSet once created.
-
Constructor Summary
Constructors Constructor Description Inverse(TreeBidiMap main)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.SetentrySet()booleanequals(java.lang.Object obj)java.lang.ObjectfirstKey()Gets the first key currently in this map.java.lang.Objectget(java.lang.Object key)java.lang.ObjectgetKey(java.lang.Object value)Gets the key that is currently mapped to the specified value.inthashCode()BidiMapinverseBidiMap()Gets a view of this map where the keys and values are reversed.OrderedBidiMapinverseOrderedBidiMap()Gets a view of this map where the keys and values are reversed.booleanisEmpty()java.util.SetkeySet()java.lang.ObjectlastKey()Gets the last key currently in this map.MapIteratormapIterator()Obtains aMapIteratorover the map.java.lang.ObjectnextKey(java.lang.Object key)Gets the next key after the one specified.OrderedMapIteratororderedMapIterator()Obtains anOrderedMapIteratorover the map.java.lang.ObjectpreviousKey(java.lang.Object key)Gets the previous key before the one specified.java.lang.Objectput(java.lang.Object key, java.lang.Object value)Puts the key-value pair into the map, replacing any previous pair.voidputAll(java.util.Map map)java.lang.Objectremove(java.lang.Object key)java.lang.ObjectremoveValue(java.lang.Object value)Removes the key-value pair that is currently mapped to the specified value (optional operation).intsize()java.lang.StringtoString()java.util.Collectionvalues()
-
-
-
Field Detail
-
main
private final TreeBidiMap main
The parent map.
-
keySet
private java.util.Set keySet
Store the keySet once created.
-
valuesSet
private java.util.Set valuesSet
Store the valuesSet once created.
-
entrySet
private java.util.Set entrySet
Store the entrySet once created.
-
-
Constructor Detail
-
Inverse
Inverse(TreeBidiMap main)
Constructor.- Parameters:
main- the main map
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Map
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
getin interfacejava.util.Map
-
getKey
public java.lang.Object getKey(java.lang.Object value)
Description copied from interface:BidiMapGets the key that is currently mapped to the specified value.If the value is not contained in the map,
nullis returned.Implementations should seek to make this method perform equally as well as
get(Object).
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map
-
firstKey
public java.lang.Object firstKey()
Description copied from interface:OrderedMapGets the first key currently in this map.- Specified by:
firstKeyin interfaceOrderedMap- Returns:
- the first key currently in this map
-
lastKey
public java.lang.Object lastKey()
Description copied from interface:OrderedMapGets the last key currently in this map.- Specified by:
lastKeyin interfaceOrderedMap- Returns:
- the last key currently in this map
-
nextKey
public java.lang.Object nextKey(java.lang.Object key)
Description copied from interface:OrderedMapGets the next key after the one specified.- Specified by:
nextKeyin interfaceOrderedMap- Parameters:
key- the key to search for next from- Returns:
- the next key, null if no match or at end
-
previousKey
public java.lang.Object previousKey(java.lang.Object key)
Description copied from interface:OrderedMapGets the previous key before the one specified.- Specified by:
previousKeyin interfaceOrderedMap- Parameters:
key- the key to search for previous from- Returns:
- the previous key, null if no match or at start
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)Description copied from interface:BidiMapPuts the key-value pair into the map, replacing any previous pair.When adding a key-value pair, the value may already exist in the map against a different key. That mapping is removed, to ensure that the value only occurs once in the inverse map.
BidiMap map1 = new DualHashBidiMap(); map.put("A","B"); // contains A mapped to B, as per Map map.put("A","C"); // contains A mapped to C, as per Map BidiMap map2 = new DualHashBidiMap(); map.put("A","B"); // contains A mapped to B, as per Map map.put("C","B"); // contains C mapped to B, key A is removed
-
putAll
public void putAll(java.util.Map map)
- Specified by:
putAllin interfacejava.util.Map
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
removein interfacejava.util.Map
-
removeValue
public java.lang.Object removeValue(java.lang.Object value)
Description copied from interface:BidiMapRemoves the key-value pair that is currently mapped to the specified value (optional operation).If the value is not contained in the map,
nullis returned.Implementations should seek to make this method perform equally as well as
remove(Object).- Specified by:
removeValuein interfaceBidiMap- Parameters:
value- the value to find the key-value pair for- Returns:
- the key that was removed,
nullif nothing removed
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map
-
keySet
public java.util.Set keySet()
- Specified by:
keySetin interfacejava.util.Map
-
values
public java.util.Collection values()
- Specified by:
valuesin interfacejava.util.Map
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySetin interfacejava.util.Map
-
mapIterator
public MapIterator mapIterator()
Description copied from interface:BidiMapObtains aMapIteratorover the map.A map iterator is an efficient way of iterating over maps. It does not require that the map is stored using Map Entry objects which can increase performance.
BidiMap map = new DualHashBidiMap(); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue("newValue"); }- Specified by:
mapIteratorin interfaceBidiMap- Specified by:
mapIteratorin interfaceIterableMap- Returns:
- a map iterator
-
orderedMapIterator
public OrderedMapIterator orderedMapIterator()
Description copied from interface:OrderedMapObtains anOrderedMapIteratorover the map.A ordered map iterator is an efficient way of iterating over maps in both directions.
BidiMap map = new TreeBidiMap(); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue("newValue"); Object previousKey = it.previous(); }- Specified by:
orderedMapIteratorin interfaceOrderedMap- Returns:
- a map iterator
-
inverseBidiMap
public BidiMap inverseBidiMap()
Description copied from interface:OrderedBidiMapGets a view of this map where the keys and values are reversed.Changes to one map will be visible in the other and vice versa. This enables both directions of the map to be accessed equally.
Implementations should seek to avoid creating a new object every time this method is called. See
AbstractMap.values()etc. Calling this method on the inverse map should return the original.Implementations must return an
OrderedBidiMapinstance, usually by forwarding toinverseOrderedBidiMap().- Specified by:
inverseBidiMapin interfaceBidiMap- Specified by:
inverseBidiMapin interfaceOrderedBidiMap- Returns:
- an inverted bidirectional map
-
inverseOrderedBidiMap
public OrderedBidiMap inverseOrderedBidiMap()
Description copied from interface:OrderedBidiMapGets a view of this map where the keys and values are reversed.Changes to one map will be visible in the other and vice versa. This enables both directions of the map to be accessed equally.
Implementations should seek to avoid creating a new object every time this method is called. See
AbstractMap.values()etc. Calling this method on the inverse map should return the original.- Specified by:
inverseOrderedBidiMapin interfaceOrderedBidiMap- Returns:
- an inverted bidirectional map
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacejava.util.Map- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-