Class DualHashBidiMap<K,V>
java.lang.Object
org.apache.commons.collections4.bidimap.AbstractDualBidiMap<K,V>
org.apache.commons.collections4.bidimap.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> Get<K,,V> IterableGet<K,,V> IterableMap<K,,V> Put<K,V>
Implements
BidiMap with 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.commons.collections4.bidimap.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> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longEnsure serialization compatibilityFields inherited from class org.apache.commons.collections4.bidimap.AbstractDualBidiMap
entrySet, inverseBidiMap, keySet, normalMap, reverseMap, values -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreates an emptyHashBidiMap.DualHashBidiMap(Map<? extends K, ? extends V> map) Constructs aHashBidiMapand copies the mappings from specifiedMap.protectedConstructs aHashBidiMapthat decorates the specified maps. -
Method Summary
Modifier and TypeMethodDescriptionCreates a new instance of this object.private voidDeserializes an instance from an ObjectInputStream.private voidSerializes this object to an ObjectOutputStream.Methods inherited from class org.apache.commons.collections4.bidimap.AbstractDualBidiMap
clear, containsKey, containsValue, createEntrySetIterator, createKeySetIterator, createValuesIterator, entrySet, equals, get, getKey, hashCode, inverseBidiMap, isEmpty, keySet, mapIterator, put, putAll, remove, removeValue, size, toString, valuesMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDEnsure serialization compatibility- See Also:
-
-
Constructor Details
-
DualHashBidiMap
public DualHashBidiMap()Creates an emptyHashBidiMap. -
DualHashBidiMap
Constructs aHashBidiMapand copies the mappings from specifiedMap.- Parameters:
map- the map whose mappings are to be placed in this map
-
DualHashBidiMap
Constructs aHashBidiMapthat 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:
createBidiMapin classAbstractDualBidiMap<K,V> - Parameters:
normalMap- the normal direction mapreverseMap- the reverse direction mapinverseBidiMap- the inverse BidiMap- Returns:
- new bidi map
-
readObject
Deserializes an instance from an ObjectInputStream.- Parameters:
in- The source ObjectInputStream.- Throws:
IOException- Any of the usual Input/Output related exceptions.ClassNotFoundException- A class of a serialized object cannot be found.
-
writeObject
Serializes this object to an ObjectOutputStream.- Parameters:
out- the target ObjectOutputStream.- Throws:
IOException- thrown when an I/O errors occur writing to the target stream.
-