Class ListMap<K,V>
- java.lang.Object
-
- com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable<E>
-
- com.github.andrewoma.dexx.collection.internal.base.AbstractIterable<Pair<K,V>>
-
- com.github.andrewoma.dexx.collection.internal.base.AbstractMap<K,V>
-
- com.github.andrewoma.dexx.collection.internal.hashmap.ListMap<K,V>
-
- All Implemented Interfaces:
Iterable<Pair<K,V>>
,Map<K,V>
,Traversable<Pair<K,V>>
,java.lang.Iterable<Pair<K,V>>
- Direct Known Subclasses:
ListMap.Node
public class ListMap<K,V> extends AbstractMap<K,V>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ListMap.Node<K,V>
-
Constructor Summary
Constructors Constructor Description ListMap()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsKey(K key)
Returns true if this map contains the specified key.protected ListMap.Node<K,V>
createNode(K key, V value)
static <K,V>
@NotNull ListMap<K,V>empty()
static <K,V>
@NotNull BuilderFactory<Pair<K,V>,ListMap<K,V>>factory()
<U> void
forEach(@NotNull Function<Pair<K,V>,U> f)
All collection methods can be built upon thisforEach
definition.V
get(K key)
Returns the value associated with the key ornull
if the no value exists with the key specified.protected K
getKey()
protected V
getValue()
boolean
isEmpty()
Returns true if this collection is empty.@NotNull java.util.Iterator<Pair<K,V>>
iterator()
@NotNull ListMap<K,V>
put(K key, V value)
Returns a map with the value specified associated to the key specified.@NotNull ListMap<K,V>
remove(K key)
Returns a map with the value associated with the key removed if it exists.int
size()
Returns the size of the collection.ListMap<K,V>
tail()
-
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractMap
asMap, equals, hashCode, keys, values
-
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable
makeString, makeString, to, toArray, toArray, toIndexedList, toSet, toSortedSet, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.andrewoma.dexx.collection.Traversable
makeString, makeString, to, toArray, toArray, toIndexedList, toSet, toSortedSet
-
-
-
-
Field Detail
-
EMPTY
private static final ListMap<java.lang.Object,java.lang.Object> EMPTY
-
-
Method Detail
-
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 interfaceTraversable<K>
- Overrides:
size
in classAbstractTraversable<Pair<K,V>>
-
get
public V get(@NotNull K key)
Description copied from interface:Map
Returns the value associated with the key ornull
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 thisforEach
definition.- Specified by:
forEach
in interfaceTraversable<K>
- Overrides:
forEach
in classAbstractIterable<Pair<K,V>>
-
getKey
protected K getKey()
-
getValue
protected V getValue()
-
isEmpty
public boolean isEmpty()
Description copied from interface:Traversable
Returns true if this collection is empty.- Specified by:
isEmpty
in interfaceTraversable<K>
- Overrides:
isEmpty
in classAbstractTraversable<Pair<K,V>>
-
createNode
protected ListMap.Node<K,V> createNode(K key, V value)
-
-