T - the keyType of elements maintained by this CollectionV - the keyType of elements maintained by this Collectionpublic class Object2ObjectOpenCustomHashMap<T,V> extends AbstractObject2ObjectMap<T,V> implements ITrimmable
AbstractObject2ObjectMap.BasicEntry<T,V>java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>Object2ObjectMap.BuilderCache<T,V>, Object2ObjectMap.Entry<T,V>, Object2ObjectMap.FastEntrySet<T,V>, Object2ObjectMap.MapBuilder| Constructor and Description |
|---|
Object2ObjectOpenCustomHashMap(int minCapacity,
float loadFactor,
ObjectStrategy<? super T> strategy)
Constructor that defines the minimum capacity and load factor
|
Object2ObjectOpenCustomHashMap(int minCapacity,
ObjectStrategy<? super T> strategy)
Constructor that defines the minimum capacity
|
Object2ObjectOpenCustomHashMap(java.util.Map<? extends T,? extends V> map,
float loadFactor,
ObjectStrategy<? super T> strategy)
A Helper constructor that allows to create a Map with exactly the same values as the provided map.
|
Object2ObjectOpenCustomHashMap(java.util.Map<? extends T,? extends V> map,
ObjectStrategy<? super T> strategy)
A Helper constructor that allows to create a Map with exactly the same values as the provided map.
|
Object2ObjectOpenCustomHashMap(Object2ObjectMap<T,V> map,
float loadFactor,
ObjectStrategy<? super T> strategy)
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.
|
Object2ObjectOpenCustomHashMap(Object2ObjectMap<T,V> map,
ObjectStrategy<? super T> strategy)
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.
|
Object2ObjectOpenCustomHashMap(ObjectStrategy<? super T> strategy)
Default Contstructor
|
Object2ObjectOpenCustomHashMap(T[] keys,
V[] values,
float loadFactor,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from unboxed values
|
Object2ObjectOpenCustomHashMap(T[] keys,
V[] values,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from unboxed values
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
void |
clearAndTrim(int size)
Trims the collection down to the requested size and clears all elements while doing so
|
V |
compute(T key,
ObjectObjectUnaryOperator<T,V> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
V |
computeIfAbsent(T key,
UnaryOperator<T,V> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
V |
computeIfPresent(T key,
ObjectObjectUnaryOperator<T,V> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
Object2ObjectOpenCustomHashMap<T,V> |
copy()
A Function that does a shallow clone of the Map itself.
|
void |
forEach(ObjectObjectConsumer<T,V> action)
Type Specific forEach method to reduce boxing/unboxing
|
V |
get(java.lang.Object key) |
V |
getObject(T key)
A Type Specific get method to reduce boxing/unboxing
|
V |
getOrDefault(java.lang.Object key,
V defaultValue) |
ObjectSet<T> |
keySet() |
V |
merge(T key,
V value,
ObjectObjectUnaryOperator<V,V> mappingFunction)
A Type Specific merge method to reduce boxing/unboxing
|
void |
mergeAll(Object2ObjectMap<T,V> m,
ObjectObjectUnaryOperator<V,V> mappingFunction)
A Bulk method for merging Maps.
|
ObjectSet<Object2ObjectMap.Entry<T,V>> |
object2ObjectEntrySet()
Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.
|
V |
put(T key,
V value)
Type Specific method to reduce boxing/unboxing of values
|
V |
putIfAbsent(T key,
V value)
Type Specific method to reduce boxing/unboxing of values
|
V |
rem(T key)
Type Specific remove function to reduce boxing/unboxing
|
V |
remOrDefault(T key,
V defaultValue)
Type-Specific Remove function with a default return value if wanted.
|
V |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
V |
replace(T key,
V value)
A Type Specific replace method to reduce boxing/unboxing replace an existing value
|
boolean |
replace(T key,
V oldValue,
V newValue)
A Type Specific replace method to replace an existing value
|
int |
size() |
V |
supplyIfAbsent(T key,
ObjectSupplier<V> valueProvider)
A Supplier based computeIfAbsent function to fill the most used usecase of this function
|
boolean |
trim(int size)
Trims the original collection down to the size of the current elements or the requested size depending which is bigger
|
ObjectCollection<V> |
values() |
entrySet, equals, getDefaultReturnValue, hashCode, putAll, putAll, putAll, putAllIfAbsent, replaceObjects, replaceObjects, setDefaultReturnValueclearAndTrim, trimapply, builder, compute, computeIfAbsent, computeIfPresent, forEach, merge, put, putAll, replaceAll, synchronize, synchronize, unmodifiableandThen, compose, identitypublic Object2ObjectOpenCustomHashMap(ObjectStrategy<? super T> strategy)
strategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nullpublic Object2ObjectOpenCustomHashMap(int minCapacity,
ObjectStrategy<? super T> strategy)
minCapacity - the minimum capacity the HashMap is allowed to be.strategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the minimum capacity is negativepublic Object2ObjectOpenCustomHashMap(int minCapacity,
float loadFactor,
ObjectStrategy<? super T> strategy)
minCapacity - the minimum capacity the HashMap is allowed to be.loadFactor - the percentage of how full the backing array can be before they resizestrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the minimum capacity is negativejava.lang.IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1public Object2ObjectOpenCustomHashMap(T[] keys, V[] values, ObjectStrategy<? super T> strategy)
keys - the keys that should be put into the mapvalues - the values that should be put into the map.strategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the keys and values do not match in lenghtpublic Object2ObjectOpenCustomHashMap(T[] keys, V[] values, float loadFactor, ObjectStrategy<? super T> strategy)
keys - the keys that should be put into the mapvalues - the values that should be put into the map.loadFactor - the percentage of how full the backing array can be before they resizestrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the keys and values do not match in lenghtjava.lang.IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1public Object2ObjectOpenCustomHashMap(java.util.Map<? extends T,? extends V> map, ObjectStrategy<? super T> strategy)
map - the values that should be present in the mapstrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nullpublic Object2ObjectOpenCustomHashMap(java.util.Map<? extends T,? extends V> map, float loadFactor, ObjectStrategy<? super T> strategy)
map - the values that should be present in the maploadFactor - the percentage of how full the backing array can be before they resizestrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1public Object2ObjectOpenCustomHashMap(Object2ObjectMap<T,V> map, ObjectStrategy<? super T> strategy)
map - the values that should be present in the mapstrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nullpublic Object2ObjectOpenCustomHashMap(Object2ObjectMap<T,V> map, float loadFactor, ObjectStrategy<? super T> strategy)
map - the values that should be present in the maploadFactor - the percentage of how full the backing array can be before they resizestrategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nulljava.lang.IllegalStateException - if the loadfactor is either below/equal to 0 or above/equal to 1public V put(T key, V value)
Object2ObjectMapput in interface java.util.Map<T,V>put in interface Object2ObjectMap<T,V>put in class java.util.AbstractMap<T,V>key - the key that should be inserted,value - the value that should be insertedMap.put(Object, Object)public V putIfAbsent(T key, V value)
Object2ObjectMapputIfAbsent in interface java.util.Map<T,V>putIfAbsent in interface Object2ObjectMap<T,V>key - the key that should be inserted,value - the value that should be insertedMap.putIfAbsent(Object, Object)public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<T,V>containsKey in class AbstractObject2ObjectMap<T,V>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<T,V>containsValue in class AbstractObject2ObjectMap<T,V>public V rem(T key)
Object2ObjectMaprem in interface Object2ObjectMap<T,V>key - the element that should be removedpublic V remOrDefault(T key, V defaultValue)
Object2ObjectMapremOrDefault in interface Object2ObjectMap<T,V>key - the element that should be removeddefaultValue - the value that should be returned if the entry doesn't existMap.remove(Object, Object)public V remove(java.lang.Object key)
remove in interface java.util.Map<T,V>remove in interface Object2ObjectMap<T,V>remove in class AbstractObject2ObjectMap<T,V>key - the element that should be removedMap.remove(Object)public boolean remove(java.lang.Object key,
java.lang.Object value)
public V getObject(T key)
Object2ObjectMapgetObject in interface Object2ObjectMap<T,V>key - the key that is searched forpublic V get(java.lang.Object key)
public V getOrDefault(java.lang.Object key, V defaultValue)
getOrDefault in interface java.util.Map<T,V>getOrDefault in class AbstractObject2ObjectMap<T,V>public Object2ObjectOpenCustomHashMap<T,V> copy()
Object2ObjectMapcopy in interface Object2ObjectMap<T,V>copy in class AbstractObject2ObjectMap<T,V>public ObjectSet<Object2ObjectMap.Entry<T,V>> object2ObjectEntrySet()
Object2ObjectMapobject2ObjectEntrySet in interface Object2ObjectMap<T,V>public ObjectSet<T> keySet()
keySet in interface java.util.Map<T,V>keySet in interface Object2ObjectMap<T,V>keySet in class AbstractObject2ObjectMap<T,V>public ObjectCollection<V> values()
values in interface java.util.Map<T,V>values in interface Object2ObjectMap<T,V>values in class AbstractObject2ObjectMap<T,V>public void forEach(ObjectObjectConsumer<T,V> action)
Object2ObjectMapforEach in interface Object2ObjectMap<T,V>forEach in class AbstractObject2ObjectMap<T,V>action - processor of the values that are iterator overpublic boolean replace(T key, V oldValue, V newValue)
Object2ObjectMapreplace in interface java.util.Map<T,V>replace in interface Object2ObjectMap<T,V>replace in class AbstractObject2ObjectMap<T,V>key - the element that should be searched foroldValue - the expected value to be replacednewValue - the value to replace the oldValue with.public V replace(T key, V value)
Object2ObjectMapreplace in interface java.util.Map<T,V>replace in interface Object2ObjectMap<T,V>replace in class AbstractObject2ObjectMap<T,V>key - the element that should be searched forvalue - the value to replace with.public V compute(T key, ObjectObjectUnaryOperator<T,V> mappingFunction)
Object2ObjectMapcompute in interface Object2ObjectMap<T,V>compute in class AbstractObject2ObjectMap<T,V>key - the key that should be computedmappingFunction - the operator that should generate the valuepublic V computeIfAbsent(T key, UnaryOperator<T,V> mappingFunction)
Object2ObjectMapcomputeIfAbsent in interface Object2ObjectMap<T,V>computeIfAbsent in class AbstractObject2ObjectMap<T,V>key - the key that should be computedmappingFunction - the operator that should generate the value if not presentpublic V supplyIfAbsent(T key, ObjectSupplier<V> valueProvider)
Object2ObjectMapsupplyIfAbsent in interface Object2ObjectMap<T,V>supplyIfAbsent in class AbstractObject2ObjectMap<T,V>key - the key that should be computedvalueProvider - the value if not presentpublic V computeIfPresent(T key, ObjectObjectUnaryOperator<T,V> mappingFunction)
Object2ObjectMapcomputeIfPresent in interface Object2ObjectMap<T,V>computeIfPresent in class AbstractObject2ObjectMap<T,V>key - the key that should be computedmappingFunction - the operator that should generate the value if presentpublic V merge(T key, V value, ObjectObjectUnaryOperator<V,V> mappingFunction)
Object2ObjectMapmerge in interface Object2ObjectMap<T,V>merge in class AbstractObject2ObjectMap<T,V>key - the key that should be be searched forvalue - the value that should be merged withmappingFunction - the operator that should generate the new Valuepublic void mergeAll(Object2ObjectMap<T,V> m, ObjectObjectUnaryOperator<V,V> mappingFunction)
Object2ObjectMapmergeAll in interface Object2ObjectMap<T,V>mergeAll in class AbstractObject2ObjectMap<T,V>m - the entries that should be bulk addedmappingFunction - the operator that should generate the new Valuepublic int size()
public void clear()
public boolean trim(int size)
ITrimmabletrim in interface ITrimmablesize - the requested trim size.public void clearAndTrim(int size)
ITrimmableclearAndTrim in interface ITrimmablesize - the amount of elements that should be allowed