Class DualLinkedHashBidiMap<K,V>

java.lang.Object
org.apache.commons.collections4.bidimap.AbstractDualBidiMap<K,V>
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 1533984 2013-10-20 21:12:51Z tn $
See Also:
  • Constructor Details

    • DualLinkedHashBidiMap

      public DualLinkedHashBidiMap()
      Creates an empty HashBidiMap.
    • DualLinkedHashBidiMap

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