org.apache.commons.collections.bidimap

Class DualHashBidiMap

Implemented Interfaces:
Serializable, BidiMap, IterableMap, Map

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.

Version:
$Id: DualHashBidiMap.java,v 1.7 2004/06/11 23:27:37 scolebourne Exp $
Authors:
Matthew Hawthorne
Stephen Colebourne
Since:
Commons Collections 3.0

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

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.
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, createBidiMap, createEntrySetIterator, createKeySetIterator, createMap, createValuesIterator, entrySet, equals, get, getKey, hashCode, inverseBidiMap, isEmpty, keySet, mapIterator, put, putAll, remove, removeValue, size, toString, values

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.
Overrides:
createBidiMap in interface AbstractDualBidiMap
Parameters:
normalMap - the normal direction map
reverseMap - the reverse direction map
inverseBidiMap - the inverse BidiMap
Returns:
new bidi map

Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.