org.apache.commons.collections4.bidimap
Class DualLinkedHashBidiMap<K,V>

java.lang.Object
  extended by org.apache.commons.collections4.bidimap.AbstractDualBidiMap<K,V>
      extended by org.apache.commons.collections4.bidimap.DualLinkedHashBidiMap<K,V>
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 of BidiMap that uses two LinkedHashMap 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
Version:
$Id: DualLinkedHashBidiMap.java 1482539 2013-05-14 19:52:43Z tn $
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>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
  DualLinkedHashBidiMap()
          Creates an empty HashBidiMap.
  DualLinkedHashBidiMap(Map<K,V> map)
          Constructs a LinkedHashBidiMap and copies the mappings from specified Map.
protected DualLinkedHashBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)
          Constructs a LinkedHashBidiMap that decorates the specified maps.
 
Method Summary
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
 

Constructor Detail

DualLinkedHashBidiMap

public DualLinkedHashBidiMap()
Creates an empty HashBidiMap.


DualLinkedHashBidiMap

public DualLinkedHashBidiMap(Map<K,V> map)
Constructs a LinkedHashBidiMap and copies the mappings from specified Map.

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 a LinkedHashBidiMap that decorates the specified maps.

Parameters:
normalMap - the normal direction map
reverseMap - the reverse direction map
inverseBidiMap - 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 class AbstractDualBidiMap<K,V>
Parameters:
normalMap - the normal direction map
reverseMap - the reverse direction map
inverseBidiMap - the inverse BidiMap
Returns:
new bidi map


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.