T - the type of elements maintained by this Collectionpublic class Object2DoubleOpenCustomHashMap<T> extends AbstractObject2DoubleMap<T> implements ITrimmable
AbstractObject2DoubleMap.BasicEntry<T>java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>Object2DoubleMap.BuilderCache<T>, Object2DoubleMap.Entry<T>, Object2DoubleMap.FastEntrySet<T>, Object2DoubleMap.MapBuilder| Constructor and Description |
|---|
Object2DoubleOpenCustomHashMap(int minCapacity,
float loadFactor,
ObjectStrategy<? super T> strategy)
Constructor that defines the minimum capacity and load factor
|
Object2DoubleOpenCustomHashMap(int minCapacity,
ObjectStrategy<? super T> strategy)
Constructor that defines the minimum capacity
|
Object2DoubleOpenCustomHashMap(java.util.Map<? extends T,? extends java.lang.Double> 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.
|
Object2DoubleOpenCustomHashMap(java.util.Map<? extends T,? extends java.lang.Double> map,
ObjectStrategy<? super T> strategy)
A Helper constructor that allows to create a Map with exactly the same values as the provided map.
|
Object2DoubleOpenCustomHashMap(Object2DoubleMap<T> 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.
|
Object2DoubleOpenCustomHashMap(Object2DoubleMap<T> 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.
|
Object2DoubleOpenCustomHashMap(ObjectStrategy<? super T> strategy)
Default Contstructor
|
Object2DoubleOpenCustomHashMap(T[] keys,
double[] values,
float loadFactor,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from unboxed values
|
Object2DoubleOpenCustomHashMap(T[] keys,
java.lang.Double[] values,
float loadFactor,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from boxed values (it will unbox them)
|
Object2DoubleOpenCustomHashMap(T[] keys,
double[] values,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from unboxed values
|
Object2DoubleOpenCustomHashMap(T[] keys,
java.lang.Double[] values,
ObjectStrategy<? super T> strategy)
Helper constructor that allow to create a map from boxed values (it will unbox them)
|
| Modifier and Type | Method and Description |
|---|---|
double |
addTo(T key,
double value)
A Helper method to add a primitives together.
|
void |
clear() |
void |
clearAndTrim(int size)
Trims the collection down to the requested size and clears all elements while doing so
|
double |
computeDouble(T key,
ObjectDoubleUnaryOperator<T> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
double |
computeDoubleIfAbsent(T key,
Object2DoubleFunction<T> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
double |
computeDoubleIfPresent(T key,
ObjectDoubleUnaryOperator<T> mappingFunction)
A Type Specific compute method to reduce boxing/unboxing
|
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(double value)
Type Specific method to reduce boxing/unboxing of values
|
boolean |
containsValue(java.lang.Object value)
Deprecated.
|
Object2DoubleOpenCustomHashMap<T> |
copy()
A Function that does a shallow clone of the Map itself.
|
void |
forEach(ObjectDoubleConsumer<T> action)
Type Specific forEach method to reduce boxing/unboxing
|
java.lang.Double |
get(java.lang.Object key) |
double |
getDouble(T key)
A Type Specific get method to reduce boxing/unboxing
|
double |
getOrDefault(T key,
double defaultValue)
A Type Specific getOrDefault method to reduce boxing/unboxing
|
ObjectSet<T> |
keySet() |
void |
mergeAllDouble(Object2DoubleMap<T> m,
DoubleDoubleUnaryOperator mappingFunction)
A Bulk method for merging Maps.
|
double |
mergeDouble(T key,
double value,
DoubleDoubleUnaryOperator mappingFunction)
A Type Specific merge method to reduce boxing/unboxing
|
ObjectSet<Object2DoubleMap.Entry<T>> |
object2DoubleEntrySet()
Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.
|
double |
put(T key,
double value)
Type Specific method to reduce boxing/unboxing of values
|
double |
putIfAbsent(T key,
double value)
Type Specific method to reduce boxing/unboxing of values
|
double |
rem(T key)
Type Specific remove function to reduce boxing/unboxing
|
double |
remOrDefault(T key,
double defaultValue)
Type-Specific Remove function with a default return value if wanted.
|
java.lang.Double |
remove(java.lang.Object key) |
boolean |
remove(java.lang.Object key,
java.lang.Object value) |
boolean |
remove(T key,
double value)
Type Specific remove function to reduce boxing/unboxing
|
double |
replace(T key,
double value)
A Type Specific replace method to reduce boxing/unboxing replace an existing value
|
boolean |
replace(T key,
double oldValue,
double newValue)
A Type Specific replace method to replace an existing value
|
int |
size() |
double |
subFrom(T key,
double value)
A Helper method to subtract from primitive from each other.
|
double |
supplyDoubleIfAbsent(T key,
DoubleSupplier 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
|
DoubleCollection |
values() |
addToAll, entrySet, equals, getDefaultReturnValue, getOrDefault, hashCode, put, putAll, putAll, putAll, putAll, putAllIfAbsent, replaceDoubles, replaceDoubles, setDefaultReturnValueclearAndTrim, trimbuilder, compute, computeIfAbsent, computeIfPresent, forEach, merge, putAll, putAll, putIfAbsent, replace, replace, replaceAll, synchronize, synchronize, unmodifiableapplyAsDoublepublic Object2DoubleOpenCustomHashMap(ObjectStrategy<? super T> strategy)
strategy - the strategy that allows hash control.java.lang.NullPointerException - if Strategy is nullpublic Object2DoubleOpenCustomHashMap(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 Object2DoubleOpenCustomHashMap(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 Object2DoubleOpenCustomHashMap(T[] keys, java.lang.Double[] 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 Object2DoubleOpenCustomHashMap(T[] keys, java.lang.Double[] 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 Object2DoubleOpenCustomHashMap(T[] keys, double[] 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 Object2DoubleOpenCustomHashMap(T[] keys, double[] 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 Object2DoubleOpenCustomHashMap(java.util.Map<? extends T,? extends java.lang.Double> 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 Object2DoubleOpenCustomHashMap(java.util.Map<? extends T,? extends java.lang.Double> 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 Object2DoubleOpenCustomHashMap(Object2DoubleMap<T> 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 Object2DoubleOpenCustomHashMap(Object2DoubleMap<T> 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 double put(T key, double value)
Object2DoubleMapput in interface Object2DoubleMap<T>key - the key that should be inserted,value - the value that should be insertedMap.put(Object, Object)public double putIfAbsent(T key, double value)
Object2DoubleMapputIfAbsent in interface Object2DoubleMap<T>key - the key that should be inserted,value - the value that should be insertedMap.putIfAbsent(Object, Object)public double addTo(T key, double value)
Object2DoubleMapaddTo in interface Object2DoubleMap<T>key - the key that should be inserted,value - the value that should be inserted / addedpublic double subFrom(T key, double value)
Object2DoubleMapObject2DoubleMap.getDefaultReturnValue()
If the fence is reached the element will be automaticall removedsubFrom in interface Object2DoubleMap<T>key - that should be subtract fromvalue - that should be subtractpublic boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<T,java.lang.Double>containsKey in class AbstractObject2DoubleMap<T>public boolean containsValue(double value)
Object2DoubleMapcontainsValue in interface Object2DoubleMap<T>containsValue in class AbstractObject2DoubleMap<T>value - element that is searched for@Deprecated public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<T,java.lang.Double>containsValue in interface Object2DoubleMap<T>containsValue in class java.util.AbstractMap<T,java.lang.Double>value - that is searched for.Map.containsValue(Object)public double rem(T key)
Object2DoubleMaprem in interface Object2DoubleMap<T>key - the element that should be removedpublic double remOrDefault(T key, double defaultValue)
Object2DoubleMapremOrDefault in interface Object2DoubleMap<T>key - the element that should be removeddefaultValue - the value that should be returned if the entry doesn't existMap.remove(Object, Object)public java.lang.Double remove(java.lang.Object key)
remove in interface java.util.Map<T,java.lang.Double>remove in interface Object2DoubleMap<T>remove in class AbstractObject2DoubleMap<T>key - the element that should be removedMap.remove(Object)public boolean remove(T key, double value)
Object2DoubleMapremove in interface Object2DoubleMap<T>key - the element that should be removedvalue - the expected value that should be foundMap.remove(Object, Object)public boolean remove(java.lang.Object key,
java.lang.Object value)
remove in interface java.util.Map<T,java.lang.Double>remove in interface Object2DoubleMap<T>key - the element that should be removedvalue - the expected value that should be foundMap.remove(Object, Object)public double getDouble(T key)
Object2DoubleMapgetDouble in interface Object2DoubleFunction<T>getDouble in interface Object2DoubleMap<T>key - the key that is searched forpublic java.lang.Double get(java.lang.Object key)
get in interface java.util.Map<T,java.lang.Double>get in interface Object2DoubleMap<T>get in class AbstractObject2DoubleMap<T>public double getOrDefault(T key, double defaultValue)
Object2DoubleMapgetOrDefault in interface Object2DoubleMap<T>key - the key that is searched fordefaultValue - the value that should be returned if the key is not presentpublic Object2DoubleOpenCustomHashMap<T> copy()
Object2DoubleMapcopy in interface Object2DoubleMap<T>copy in class AbstractObject2DoubleMap<T>public ObjectSet<Object2DoubleMap.Entry<T>> object2DoubleEntrySet()
Object2DoubleMapobject2DoubleEntrySet in interface Object2DoubleMap<T>public ObjectSet<T> keySet()
keySet in interface java.util.Map<T,java.lang.Double>keySet in interface Object2DoubleMap<T>keySet in class AbstractObject2DoubleMap<T>public DoubleCollection values()
values in interface java.util.Map<T,java.lang.Double>values in interface Object2DoubleMap<T>values in class AbstractObject2DoubleMap<T>public void forEach(ObjectDoubleConsumer<T> action)
Object2DoubleMapforEach in interface Object2DoubleMap<T>forEach in class AbstractObject2DoubleMap<T>action - processor of the values that are iterator overpublic boolean replace(T key, double oldValue, double newValue)
Object2DoubleMapreplace in interface Object2DoubleMap<T>replace in class AbstractObject2DoubleMap<T>key - the element that should be searched foroldValue - the expected value to be replacednewValue - the value to replace the oldValue with.public double replace(T key, double value)
Object2DoubleMapreplace in interface Object2DoubleMap<T>replace in class AbstractObject2DoubleMap<T>key - the element that should be searched forvalue - the value to replace with.public double computeDouble(T key, ObjectDoubleUnaryOperator<T> mappingFunction)
Object2DoubleMapcomputeDouble in interface Object2DoubleMap<T>computeDouble in class AbstractObject2DoubleMap<T>key - the key that should be computedmappingFunction - the operator that should generate the valuepublic double computeDoubleIfAbsent(T key, Object2DoubleFunction<T> mappingFunction)
Object2DoubleMapcomputeDoubleIfAbsent in interface Object2DoubleMap<T>computeDoubleIfAbsent in class AbstractObject2DoubleMap<T>key - the key that should be computedmappingFunction - the operator that should generate the value if not presentpublic double supplyDoubleIfAbsent(T key, DoubleSupplier valueProvider)
Object2DoubleMapsupplyDoubleIfAbsent in interface Object2DoubleMap<T>supplyDoubleIfAbsent in class AbstractObject2DoubleMap<T>key - the key that should be computedvalueProvider - the value if not presentpublic double computeDoubleIfPresent(T key, ObjectDoubleUnaryOperator<T> mappingFunction)
Object2DoubleMapcomputeDoubleIfPresent in interface Object2DoubleMap<T>computeDoubleIfPresent in class AbstractObject2DoubleMap<T>key - the key that should be computedmappingFunction - the operator that should generate the value if presentpublic double mergeDouble(T key, double value, DoubleDoubleUnaryOperator mappingFunction)
Object2DoubleMapmergeDouble in interface Object2DoubleMap<T>mergeDouble in class AbstractObject2DoubleMap<T>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 mergeAllDouble(Object2DoubleMap<T> m, DoubleDoubleUnaryOperator mappingFunction)
Object2DoubleMapmergeAllDouble in interface Object2DoubleMap<T>mergeAllDouble in class AbstractObject2DoubleMap<T>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