Class DualLinkedHashBidiMap<K,​V>

  • Type Parameters:
    K - the type of the keys in the map
    V - the type of the values in the map
    All Implemented Interfaces:
    java.io.Serializable, java.util.Map<K,​V>, BidiMap<K,​V>, Get<K,​V>, IterableGet<K,​V>, IterableMap<K,​V>, Put<K,​V>

    public class DualLinkedHashBidiMap<K,​V>
    extends AbstractDualBidiMap<K,​V>
    implements java.io.Serializable
    Implementation of BidiMap that uses two LinkedHashMap instances.

    Two LinkedHashMap instances are used in this class. This provides fast lookups at the expense of storing two sets of map entries and two linked lists.

    Since:
    4.0
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Ensure serialization compatibility
        See Also:
        Constant Field Values
    • Constructor Detail

      • DualLinkedHashBidiMap

        public DualLinkedHashBidiMap()
        Creates an empty HashBidiMap.
      • DualLinkedHashBidiMap

        public DualLinkedHashBidiMap​(java.util.Map<? extends K,​? extends V> map)
        Constructs a LinkedHashBidiMap and copies the mappings from specified Map.
        Parameters:
        map - the map whose mappings are to be placed in this map
      • DualLinkedHashBidiMap

        protected DualLinkedHashBidiMap​(java.util.Map<K,​V> normalMap,
                                        java.util.Map<V,​K> reverseMap,
                                        BidiMap<V,​K> inverseBidiMap)
        Constructs a LinkedHashBidiMap 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<V,​K> createBidiMap​(java.util.Map<V,​K> normalMap,
                                                   java.util.Map<K,​V> reverseMap,
                                                   BidiMap<K,​V> inverseBidiMap)
        Creates a new instance of this object.
        Specified by:
        createBidiMap in class AbstractDualBidiMap<K,​V>
        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