com.github.andrewoma.dexx.collection.internal.hashmap
Class CompactHashMap<K,V>

java.lang.Object
  extended by com.github.andrewoma.dexx.collection.internal.hashmap.CompactHashMap<K,V>

public class CompactHashMap<K,V>
extends Object


Field Summary
protected static CompactHashMap EMPTY
           
 
Constructor Summary
CompactHashMap()
           
 
Method Summary
protected  int computeHash(K key)
           
protected  int elemHashCode(K key)
           
static
<K,V> CompactHashMap<K,V>
empty()
           
<U> void
forEach(Function<Pair<K,V>,U> f, KeyFunction<K,V> keyFunction)
           
 V get(K key, KeyFunction<K,V> keyFunction)
           
protected  V get0(K key, int hash, int level, KeyFunction<K,V> keyFunction)
           
protected  int improve(int hashCode)
           
 Iterator<Pair<K,V>> iterator(KeyFunction<K,V> kf)
           
protected static
<K,V> com.github.andrewoma.dexx.collection.internal.hashmap.HashTrieMap<K,V>
makeHashTrieMap(int hash0, CompactHashMap<K,V> elem0, int hash1, CompactHashMap<K,V> elem1, int level, int size)
           
 CompactHashMap<K,V> put(K key, V value, KeyFunction<K,V> keyFunction)
           
 CompactHashMap<K,V> remove(K key, KeyFunction<K,V> keyFunction)
           
protected  CompactHashMap<K,V> removed0(K key, int hash, int level, KeyFunction<K,V> keyFunction)
           
 int size()
           
protected static
<K,V> Object
unwrap(CompactHashMap<K,V> hashMap)
           
protected  CompactHashMap<K,V> updated0(K key, int hash, int level, V value, Pair<K,V> kv, KeyFunction<K,V> keyFunction)
           
protected  CompactHashMap<K,V> wrap(Object object, KeyFunction<K,V> keyFunction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY

protected static final CompactHashMap EMPTY
Constructor Detail

CompactHashMap

public CompactHashMap()
Method Detail

iterator

public Iterator<Pair<K,V>> iterator(KeyFunction<K,V> kf)

size

public int size()

empty

public static <K,V> CompactHashMap<K,V> empty()

forEach

public <U> void forEach(Function<Pair<K,V>,U> f,
                        KeyFunction<K,V> keyFunction)

get

public V get(K key,
             KeyFunction<K,V> keyFunction)

put

public CompactHashMap<K,V> put(K key,
                               V value,
                               KeyFunction<K,V> keyFunction)

remove

public CompactHashMap<K,V> remove(K key,
                                  KeyFunction<K,V> keyFunction)

elemHashCode

protected int elemHashCode(K key)

improve

protected final int improve(int hashCode)

computeHash

protected int computeHash(K key)

get0

protected V get0(K key,
                 int hash,
                 int level,
                 KeyFunction<K,V> keyFunction)

updated0

protected CompactHashMap<K,V> updated0(K key,
                                       int hash,
                                       int level,
                                       V value,
                                       Pair<K,V> kv,
                                       KeyFunction<K,V> keyFunction)

removed0

protected CompactHashMap<K,V> removed0(K key,
                                       int hash,
                                       int level,
                                       KeyFunction<K,V> keyFunction)

makeHashTrieMap

protected static <K,V> com.github.andrewoma.dexx.collection.internal.hashmap.HashTrieMap<K,V> makeHashTrieMap(int hash0,
                                                                                                              CompactHashMap<K,V> elem0,
                                                                                                              int hash1,
                                                                                                              CompactHashMap<K,V> elem1,
                                                                                                              int level,
                                                                                                              int size)

unwrap

protected static <K,V> Object unwrap(CompactHashMap<K,V> hashMap)

wrap

protected CompactHashMap<K,V> wrap(Object object,
                                   KeyFunction<K,V> keyFunction)


Copyright © 2014. All Rights Reserved.