Class LinkedMap<K,​V>


  • public class LinkedMap<K,​V>
    extends java.lang.Object
    A doubly linked list that can also map entries on keys. The list can be iterated in FIFO order and implements the following operations in constant time:
    • adding an element at the start
    • adding an element at the end
    • finding and removing an element based on a key
    Author:
    Lucian Chirita (lucianc@users.sourceforge.net)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  LinkedMap.LinkedValue<K,​V>  
    • Constructor Summary

      Constructors 
      Constructor Description
      LinkedMap()
      Creates a list.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(K key, V value)
      Adds a value at the end of the list.
      void addAll​(LinkedMap<K,​V> map)
      Adds all entries from the map to this map, preserving the order.
      void addFirst​(K key, V value)
      Adds a value at the start of the list
      boolean isEmpty()
      Determines whether the list is empty.
      V pop()
      Removes and returns the first element in the list.
      java.util.Map.Entry<K,​V> popEntry()
      Removes and returns the first element in the list.
      V remove​(K key)
      Removes and returns an element mapped to a key.
      protected LinkedMap.LinkedValue<K,​V> removeFirst()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LinkedMap

        public LinkedMap()
        Creates a list.
    • Method Detail

      • add

        public void add​(K key,
                        V value)
        Adds a value at the end of the list.
        Parameters:
        key - the not-null key to which the value is mapped
        value - the value
      • addFirst

        public void addFirst​(K key,
                             V value)
        Adds a value at the start of the list
        Parameters:
        key - the not-null key to which the value is mapped
        value - the value
      • isEmpty

        public boolean isEmpty()
        Determines whether the list is empty.
        Returns:
        whether the list is empty
      • pop

        public V pop()
        Removes and returns the first element in the list.
        Returns:
        the first element in the list
      • popEntry

        public java.util.Map.Entry<K,​V> popEntry()
        Removes and returns the first element in the list.
        Returns:
        the first element in the list
      • remove

        public V remove​(K key)
        Removes and returns an element mapped to a key.
        Parameters:
        key -
        Returns:
        the element mapped to the key, null if the key is not mapped
      • addAll

        public void addAll​(LinkedMap<K,​V> map)
        Adds all entries from the map to this map, preserving the order.
        Parameters:
        map -