Class DualHashBidiMap<K,V>
java.lang.Object
org.apache.openjpa.lib.util.collections.AbstractDualBidiMap<K,V>
org.apache.openjpa.lib.util.collections.DualHashBidiMap<K,V>
- Type Parameters:
K
- the type of the keys in the mapV
- the type of the values in the map
- All Implemented Interfaces:
Serializable
,Map<K,
,V> BidiMap<K,
,V> IterableMap<K,
V>
Implementation of
BidiMap
that uses two HashMap
instances.
Two HashMap
instances are used in this class.
This provides fast lookups at the expense of storing two sets of map entries.
Commons Collections would welcome the addition of a direct hash-based
implementation of the BidiMap
interface.
NOTE: From Commons Collections 3.1, all subclasses will use HashMap
and the flawed createMap
method is ignored.
- Since:
- 3.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.openjpa.lib.util.collections.AbstractDualBidiMap
AbstractDualBidiMap.BidiMapIterator<K,
V>, AbstractDualBidiMap.EntrySet<K, V>, AbstractDualBidiMap.EntrySetIterator<K, V>, AbstractDualBidiMap.KeySet<K>, AbstractDualBidiMap.KeySetIterator<K>, AbstractDualBidiMap.MapEntry<K, V>, AbstractDualBidiMap.Values<V>, AbstractDualBidiMap.ValuesIterator<V>, AbstractDualBidiMap.View<K, V, E> -
Constructor Summary
ModifierConstructorDescriptionCreates an emptyHashBidiMap
.DualHashBidiMap
(Map<? extends K, ? extends V> map) Constructs aHashBidiMap
and copies the mappings from specifiedMap
.protected
Constructs aHashBidiMap
that decorates the specified maps. -
Method Summary
Methods inherited from class org.apache.openjpa.lib.util.collections.AbstractDualBidiMap
clear, containsKey, containsValue, createEntrySetIterator, createKeySetIterator, createValuesIterator, entrySet, equals, get, getKey, hashCode, inverseBidiMap, isEmpty, keySet, mapIterator, put, putAll, remove, removeValue, size, toString, values
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
DualHashBidiMap
public DualHashBidiMap()Creates an emptyHashBidiMap
. -
DualHashBidiMap
Constructs aHashBidiMap
and copies the mappings from specifiedMap
.- Parameters:
map
- the map whose mappings are to be placed in this map
-
DualHashBidiMap
Constructs aHashBidiMap
that decorates the specified maps.- Parameters:
normalMap
- the normal direction mapreverseMap
- the reverse direction mapinverseBidiMap
- the inverse BidiMap
-
-
Method Details
-
createBidiMap
protected BidiMap<V,K> createBidiMap(Map<V, K> normalMap, Map<K, V> reverseMap, BidiMap<K, V> inverseBidiMap) Creates a new instance of this object.- Specified by:
createBidiMap
in classAbstractDualBidiMap<K,
V> - Parameters:
normalMap
- the normal direction mapreverseMap
- the reverse direction mapinverseBidiMap
- the inverse BidiMap- Returns:
- new bidi map
-