Class 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 $
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Ensure serialization compatibility
        See Also:
        Constant Field Values
    • 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
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException