All Implemented Interfaces:
Iterable<Pair<K,V>>, Map<K,V>, Traversable<Pair<K,V>>, Iterable<Pair<K,V>>
Direct Known Subclasses:
ListMap.Node

public class ListMap<K,V> extends AbstractMap<K,V>
  • Field Details

  • Constructor Details

    • ListMap

      public ListMap()
  • Method Details

    • factory

      @NotNull public static <K, V> @NotNull BuilderFactory<Pair<K,V>,ListMap<K,V>> factory()
    • empty

      @NotNull public static <K, V> @NotNull ListMap<K,V> empty()
    • size

      public int size()
      Description copied from interface: Traversable
      Returns the size of the collection.

      Warning: infinite collections are possible, as are collections that require traversal to calculate the size.

      Specified by:
      size in interface Traversable<K>
      Overrides:
      size in class AbstractTraversable<Pair<K,V>>
    • get

      public V get(@NotNull K key)
      Description copied from interface: Map
      Returns the value associated with the key or null if the no value exists with the key specified.
    • put

      @NotNull public @NotNull ListMap<K,V> put(@NotNull K key, V value)
      Description copied from interface: Map
      Returns a map with the value specified associated to the key specified.

      If value already exists for the key, it will be replaced.

    • remove

      @NotNull public @NotNull ListMap<K,V> remove(@NotNull K key)
      Description copied from interface: Map
      Returns a map with the value associated with the key removed if it exists.
    • forEach

      public <U> void forEach(@NotNull @NotNull Function<Pair<K,V>,U> f)
      Description copied from interface: Traversable
      All collection methods can be built upon this forEach definition.
      Specified by:
      forEach in interface Traversable<K>
      Overrides:
      forEach in class AbstractIterable<Pair<K,V>>
    • iterator

      @NotNull public @NotNull Iterator<Pair<K,V>> iterator()
    • getKey

      protected K getKey()
    • getValue

      protected V getValue()
    • tail

      public ListMap<K,V> tail()
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: Traversable
      Returns true if this collection is empty.
      Specified by:
      isEmpty in interface Traversable<K>
      Overrides:
      isEmpty in class AbstractTraversable<Pair<K,V>>
    • createNode

      protected ListMap<K,V>.Node<K,V> createNode(K key, V value)
    • containsKey

      public boolean containsKey(@NotNull K key)
      Description copied from interface: Map
      Returns true if this map contains the specified key.