org.apache.commons.collections.bidimap
Class DualHashBidiMap

java.lang.Object
  extended by org.apache.commons.collections.bidimap.AbstractDualBidiMap
      extended by 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.