## 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:
  java.io.Serializable, java.util.Map, BidiMap, IterableMap

    public class DualHashBidiMap

extends AbstractDualBidiMap
implements java.io.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
`java.util.Map.Entry`

Field Summary

Fields inherited from class org.apache.commons.collections.bidimap.AbstractDualBidiMap
`entrySet, inverseBidiMap, keySet, maps, values`

Constructor Summary
`` `DualHashBidiMap()` Creates an empty `HashBidiMap`.
`` `DualHashBidiMap(java.util.Map map)` Constructs a `HashBidiMap` and copies the mappings from specified `Map`.
`protected` `DualHashBidiMap(java.util.Map normalMap, java.util.Map reverseMap, BidiMap inverseBidiMap)` Constructs a `HashBidiMap` that decorates the specified maps.

Method Summary
`protected BidiMap` `createBidiMap(java.util.Map normalMap, java.util.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(java.util.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(java.util.Map normalMap,
                              java.util.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(java.util.Map normalMap,
                                    java.util.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-2008 The Apache Software Foundation. All Rights Reserved.