org.apache.commons.collections.bidimap

## 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:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.collections.bidimap.AbstractDualBidiMap

      `AbstractDualBidiMap.BidiMapIterator, AbstractDualBidiMap.EntrySet, AbstractDualBidiMap.EntrySetIterator, AbstractDualBidiMap.KeySet, AbstractDualBidiMap.KeySetIterator, AbstractDualBidiMap.MapEntry, AbstractDualBidiMap.Values, AbstractDualBidiMap.ValuesIterator, AbstractDualBidiMap.View`

    - ### Nested classes/interfaces inherited from interface java.util.Map

      `Map.Entry`

  - ### Field Summary

    - ### Fields inherited from class org.apache.commons.collections.bidimap.AbstractDualBidiMap

      `entrySet, inverseBidiMap, keySet, maps, values`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `DualHashBidiMap()` Creates an empty `HashBidiMap`.
    `` | `DualHashBidiMap(Map map)` Constructs a `HashBidiMap` and copies the mappings from specified `Map`.
    `protected` | `DualHashBidiMap(Map normalMap, Map reverseMap, BidiMap inverseBidiMap)` Constructs a `HashBidiMap` that decorates the specified maps.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected BidiMap` | `createBidiMap(Map normalMap, Map reverseMap, BidiMap inverseBidiMap)` Creates a new instance of this object.

    - ### Methods inherited from class org.apache.commons.collections.bidimap.AbstractDualBidiMap

      `clear, containsKey, containsValue, createEntrySetIterator, createKeySetIterator, createMap, 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

    - #### 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 Detail

    - #### 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

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