Class DualHashBidiMap

java.lang.Object
org.apache.commons.collections.bidimap.AbstractDualBidiMap
org.apache.commons.collections.bidimap.DualHashBidiMap
All Implemented Interfaces:
Serializable, Map, BidiMap, IterableMap

public class DualHashBidiMap extends AbstractDualBidiMap implements Serializable
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:
Commons Collections 3.0
Version:
$Id: DualHashBidiMap.java 646777 2008-04-10 12:33:15Z niallp $
Author:
Matthew Hawthorne, Stephen Colebourne
See Also:
  • Constructor Details

    • DualHashBidiMap

      public DualHashBidiMap()
      Creates an empty HashBidiMap.
    • DualHashBidiMap

      public DualHashBidiMap(Map map)
      Constructs a HashBidiMap and copies the mappings from specified Map.
      Parameters:
      map - the map whose mappings are to be placed in this map
    • DualHashBidiMap

      protected DualHashBidiMap(Map normalMap, Map reverseMap, BidiMap inverseBidiMap)
      Constructs a HashBidiMap 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 createBidiMap(Map normalMap, Map reverseMap, BidiMap inverseBidiMap)
      Creates a new instance of this object.
      Specified by:
      createBidiMap in class AbstractDualBidiMap
      Parameters:
      normalMap - the normal direction map
      reverseMap - the reverse direction map
      inverseBidiMap - the inverse BidiMap
      Returns:
      new bidi map