Class DualLinkedHashBidiMap<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.bidimap.AbstractDualBidiMap<K,V>
-
- org.apache.commons.collections4.bidimap.DualLinkedHashBidiMap<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>
public class DualLinkedHashBidiMap<K,V> extends AbstractDualBidiMap<K,V> implements Serializable
Implementation ofBidiMap
that uses twoLinkedHashMap
instances.Two
LinkedHashMap
instances are used in this class. This provides fast lookups at the expense of storing two sets of map entries and two linked lists.- Since:
- 4.0
- See Also:
- Serialized Form
-
-
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>
-
-
Constructor Summary
Constructors Modifier Constructor Description DualLinkedHashBidiMap()
Creates an emptyHashBidiMap
.DualLinkedHashBidiMap(Map<? extends K,? extends V> map)
Constructs aLinkedHashBidiMap
and copies the mappings from specifiedMap
.protected
DualLinkedHashBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)
Constructs aLinkedHashBidiMap
that decorates the specified maps.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BidiMap<V,K>
createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseBidiMap)
Creates a new instance of this object.-
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, 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 Detail
-
DualLinkedHashBidiMap
public DualLinkedHashBidiMap()
Creates an emptyHashBidiMap
.
-
DualLinkedHashBidiMap
public DualLinkedHashBidiMap(Map<? extends K,? extends V> map)
Constructs aLinkedHashBidiMap
and copies the mappings from specifiedMap
.- Parameters:
map
- the map whose mappings are to be placed in this map
-
DualLinkedHashBidiMap
protected DualLinkedHashBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)
Constructs aLinkedHashBidiMap
that decorates the specified maps.- Parameters:
normalMap
- the normal direction mapreverseMap
- the reverse direction mapinverseBidiMap
- the inverse BidiMap
-
-
Method Detail
-
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
-
-