com.github.andrewoma.dexx.collection
Class HashMap<K,V>

java.lang.Object
  extended by com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable<E>
      extended by com.github.andrewoma.dexx.collection.internal.base.AbstractIterable<Pair<K,V>>
          extended by com.github.andrewoma.dexx.collection.internal.base.AbstractMap<K,V>
              extended by com.github.andrewoma.dexx.collection.HashMap<K,V>
All Implemented Interfaces:
Map<K,V>, Traversable<Pair<K,V>>, Iterable<Pair<K,V>>

public class HashMap<K,V>
extends AbstractMap<K,V>

HashMap is an implementation of Map based on a hash trie.

The underlying implementation is a port of Scala's HashMap which is an implementation of a hash array mapped trie.


Constructor Summary
HashMap()
           
 
Method Summary
 boolean containsKey(K key)
          Returns true if this map contains the specified key.
static
<K,V> HashMap<K,V>
empty()
           
static
<K,V> BuilderFactory<Pair<K,V>,HashMap<K,V>>
factory()
           
<U> void
forEach(Function<Pair<K,V>,U> f)
          All collection methods can be built upon this forEach definition.
 V get(K key)
          Returns the value associated with the key or null if the no value exists with the key specified.
 Iterator<Pair<K,V>> iterator()
           
 HashMap<K,V> put(K key, V value)
          Returns a map with the value specified associated to the key specified.
 HashMap<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.
 
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
isEmpty, 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
isEmpty, makeString, makeString, to, toArray, toArray, toIndexedList, toSet, toSortedSet
 

Constructor Detail

HashMap

public HashMap()
Method Detail

empty

@NotNull
public static <K,V> HashMap<K,V> empty()

factory

@NotNull
public static <K,V> BuilderFactory<Pair<K,V>,HashMap<K,V>> factory()

containsKey

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


put

@NotNull
public HashMap<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.


get

@Nullable
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.


remove

@NotNull
public HashMap<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.


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<Pair<K,V>>
Overrides:
size in class AbstractTraversable<Pair<K,V>>

forEach

public <U> void forEach(@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<Pair<K,V>>
Overrides:
forEach in class AbstractIterable<Pair<K,V>>

iterator

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


Copyright © 2014. All Rights Reserved.