## 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:
  BidiMap, IterableMap, Map, Serializable

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,v 1.7 2004/06/11 23:27:37 scolebourne Exp $
Author:
  Matthew Hawthorne, Stephen Colebourne
See Also:
  Serialized Form

Nested Class Summary

Nested classes 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 inherited from class java.util.Map
`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(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
`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-2005 Apache Software Foundation. All Rights Reserved.