Class LinkedMap<K,​V>


  • public class LinkedMap<K,​V>
    extends 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)
    • 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 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 -