Modul speiger.src.collections
Klasse Object2ObjectConcurrentOpenHashMap<T,V>
java.lang.Object
java.util.AbstractMap<T,V>
speiger.src.collections.objects.maps.abstracts.AbstractObject2ObjectMap<T,V>
speiger.src.collections.objects.maps.impl.concurrent.Object2ObjectConcurrentOpenHashMap<T,V>
- Typparameter:
T- the keyType of elements maintained by this CollectionV- the keyType of elements maintained by this Collection
- Alle implementierten Schnittstellen:
ConcurrentMap<T,,V> Function<T,,V> Map<T,,V> UnaryOperator<T,,V> Object2ObjectConcurrentMap<T,,V> Object2ObjectMap<T,,V> ITrimmable
public class Object2ObjectConcurrentOpenHashMap<T,V>
extends AbstractObject2ObjectMap<T,V>
implements Object2ObjectConcurrentMap<T,V>, ITrimmable
A TypeSpecific ConcurrentHashMap implementation that is based on Guavas approach and backing array implementations.
Like Guavas implementation this solution can be accessed by multiple threads, but it is not as flexible as Javas implementation.
The concurrencyLevel decides how many pools exist, and each pool can be accessed by 1 thread for writing and as many threads for reading.
Though it is ill adviced to iterate over the collection using the Iterator if the Map is written to. Keep that in mind.
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen speiger.src.collections.objects.maps.abstracts.AbstractObject2ObjectMap
AbstractObject2ObjectMap.BasicEntry<T,V> Von Klasse geerbte verschachtelte Klassen/Schnittstellen java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen speiger.src.collections.objects.maps.interfaces.Object2ObjectMap
Object2ObjectMap.BuilderCache<T,V>, Object2ObjectMap.Entry<T, V>, Object2ObjectMap.FastEntrySet<T, V>, Object2ObjectMap.MapBuilder -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDefault ConstructorObject2ObjectConcurrentOpenHashMap(float loadFactor, int concurrencyLevel) Constructor that defines the load factor and concurrencyLevelObject2ObjectConcurrentOpenHashMap(int minCapacity) Constructor that defines the minimum capacityObject2ObjectConcurrentOpenHashMap(int minCapacity, float loadFactor) Constructor that defines the minimum capacity and load factorObject2ObjectConcurrentOpenHashMap(int minCapacity, float loadFactor, int concurrencyLevel) Constructor that defines the minimum capacity, load factor and concurrencyLevelObject2ObjectConcurrentOpenHashMap(int minCapacity, int concurrencyLevel) Constructor that defines the minimum capacity and concurrencyLevelObject2ObjectConcurrentOpenHashMap(Map<? extends T, ? extends V> map) A Helper constructor that allows to create a Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Map<? extends T, ? extends V> map, float loadFactor) A Helper constructor that allows to create a Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Map<? extends T, ? extends V> map, float loadFactor, int concurrencyLevel) A Helper constructor that allows to create a Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Map<? extends T, ? extends V> map, int concurrencyLevel) A Helper constructor that allows to create a Map with exactly the same values as the provided map.A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Object2ObjectMap<T, V> map, float loadFactor) A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Object2ObjectMap<T, V> map, float loadFactor, int concurrencyLevel) A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(Object2ObjectMap<T, V> map, int concurrencyLevel) A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ObjectConcurrentOpenHashMap(T[] keys, V[] values) Helper constructor that allow to create a map from unboxed valuesObject2ObjectConcurrentOpenHashMap(T[] keys, V[] values, float loadFactor) Helper constructor that allow to create a map from unboxed valuesObject2ObjectConcurrentOpenHashMap(T[] keys, V[] values, float loadFactor, int concurrencyLevel) Helper constructor that allow to create a map from unboxed valuesObject2ObjectConcurrentOpenHashMap(T[] keys, V[] values, int concurrencyLevel) Helper constructor that allow to create a map from unboxed values -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidclear()voidclearAndTrim(int size) Trims the collection down to the requested size and clears all elements while doing socompute(T key, ObjectObjectUnaryOperator<T, V> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".computeIfAbsent(T key, UnaryOperator<T, V> mappingFunction) A Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".computeIfPresent(T key, ObjectObjectUnaryOperator<T, V> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".copy()A Function that does a shallow clone of the Map itself.voidforEach(ObjectObjectConsumer<T, V> action) Type Specific forEach method to reduce boxing/unboxingA Type Specific get method to reduce boxing/unboxinggetOrDefault(Object key, V defaultValue) booleanisEmpty()keySet()A Type Specific merge method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.Type Specific method to reduce boxing/unboxing of valuesputIfAbsent(T key, V value) Type Specific method to reduce boxing/unboxing of valuesType Specific remove function to reduce boxing/unboxingremOrDefault(T key, V defaultValue) Type-Specific Remove function with a default return value if wanted.booleanA Type Specific replace method to reduce boxing/unboxing replace an existing valuebooleanA Type Specific replace method to replace an existing valueintsize()supplyIfAbsent(T key, ObjectSupplier<V> valueProvider) A Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".booleantrim(int size) Trims the original collection down to the size of the current elements or the requested size depending which is biggervalues()Von Klasse geerbte Methoden speiger.src.collections.objects.maps.abstracts.AbstractObject2ObjectMap
containsKey, containsValue, entrySet, equals, getDefaultReturnValue, hashCode, mergeAll, putAll, putAll, putAll, putAllIfAbsent, remove, replaceObjects, replaceObjects, setDefaultReturnValueVon Klasse geerbte Methoden java.util.AbstractMap
toStringVon Schnittstelle geerbte Methoden speiger.src.collections.utils.ITrimmable
clearAndTrim, trimVon Schnittstelle geerbte Methoden java.util.Map
containsKey, containsValue, equals, hashCode, putAllVon Schnittstelle geerbte Methoden speiger.src.collections.objects.maps.interfaces.Object2ObjectConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, merge, replaceAllVon Schnittstelle geerbte Methoden speiger.src.collections.objects.maps.interfaces.Object2ObjectMap
apply, compute, computeIfAbsent, computeIfPresent, entrySet, forEach, getDefaultReturnValue, merge, mergeAll, put, putAll, putAll, putAll, putAllIfAbsent, remove, replaceAll, replaceObjects, replaceObjects, setDefaultReturnValue, synchronize, synchronize, unmodifiableVon Schnittstelle geerbte Methoden speiger.src.collections.objects.functions.function.UnaryOperator
andThen, compose
-
Konstruktordetails
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap()Default Constructor -
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(int minCapacity) Constructor that defines the minimum capacity- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.- Löst aus:
IllegalStateException- if the minimum capacity is negative
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(int minCapacity, float loadFactor) Constructor that defines the minimum capacity and load factor- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.loadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the minimum capacity is negativeIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(int minCapacity, int concurrencyLevel) Constructor that defines the minimum capacity and concurrencyLevel- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.concurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the minimum capacity is negativeIllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(float loadFactor, int concurrencyLevel) Constructor that defines the load factor and concurrencyLevel- Parameter:
loadFactor- the percentage of how full the backing array can be before they resizeconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(int minCapacity, float loadFactor, int concurrencyLevel) Constructor that defines the minimum capacity, load factor and concurrencyLevel- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.loadFactor- the percentage of how full the backing array can be before they resizeconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the minimum capacity is negativeIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
Helper constructor that allow to create a map from unboxed values- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.- Löst aus:
IllegalStateException- if the keys and values do not match in lenght
-
Object2ObjectConcurrentOpenHashMap
Helper constructor that allow to create a map from unboxed values- Parameter:
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 resize- Löst aus:
IllegalStateException- if the keys and values do not match in lenghtIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ObjectConcurrentOpenHashMap
Helper constructor that allow to create a map from unboxed values- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.concurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the keys and values do not match in lenghtIllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(T[] keys, V[] values, float loadFactor, int concurrencyLevel) Helper constructor that allow to create a map from unboxed values- Parameter:
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 resizeconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the keys and values do not match in lenghtIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the map
-
Object2ObjectConcurrentOpenHashMap
A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ObjectConcurrentOpenHashMap
A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the mapconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(Map<? extends T, ? extends V> map, float loadFactor, int concurrencyLevel) A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resizeconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the map
-
Object2ObjectConcurrentOpenHashMap
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ObjectConcurrentOpenHashMap
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the mapconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
Object2ObjectConcurrentOpenHashMap
public Object2ObjectConcurrentOpenHashMap(Object2ObjectMap<T, V> map, float loadFactor, int concurrencyLevel) A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resizeconcurrencyLevel- decides how many operations can be performed at once.- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1IllegalStateException- if the concurrencyLevel is either below/equal to 0 or above/equal to 65535
-
-
Methodendetails
-
put
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType Specific method to reduce boxing/unboxing of values- Angegeben von:
putin SchnittstelleMap<T,V> - Angegeben von:
putin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
putin KlasseAbstractMap<T,V> - Parameter:
key- the key that should be inserted,value- the value that should be inserted- Gibt zurück:
- the last present value or default return value.
- Siehe auch:
-
putIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType Specific method to reduce boxing/unboxing of values- Angegeben von:
putIfAbsentin SchnittstelleConcurrentMap<T,V> - Angegeben von:
putIfAbsentin SchnittstelleMap<T,V> - Angegeben von:
putIfAbsentin SchnittstelleObject2ObjectConcurrentMap<T,V> - Angegeben von:
putIfAbsentin SchnittstelleObject2ObjectMap<T,V> - Parameter:
key- the key that should be inserted,value- the value that should be inserted- Gibt zurück:
- the last present value or default return value.
- Siehe auch:
-
rem
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType Specific remove function to reduce boxing/unboxing- Angegeben von:
remin SchnittstelleObject2ObjectMap<T,V> - Parameter:
key- the element that should be removed- Gibt zurück:
- the value that was removed or default return value
-
remove
-
remOrDefault
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType-Specific Remove function with a default return value if wanted.- Angegeben von:
remOrDefaultin SchnittstelleObject2ObjectMap<T,V> - Parameter:
key- the element that should be removeddefaultValue- the value that should be returned if the entry doesn't exist- Gibt zurück:
- the value that was removed or default value
- Siehe auch:
-
getObject
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific get method to reduce boxing/unboxing- Angegeben von:
getObjectin SchnittstelleObject2ObjectMap<T,V> - Parameter:
key- the key that is searched for- Gibt zurück:
- the searched value or default return value
-
get
-
getOrDefault
- Angegeben von:
getOrDefaultin SchnittstelleConcurrentMap<T,V> - Angegeben von:
getOrDefaultin SchnittstelleMap<T,V> - Angegeben von:
getOrDefaultin SchnittstelleObject2ObjectConcurrentMap<T,V> - Setzt außer Kraft:
getOrDefaultin KlasseAbstractObject2ObjectMap<T,V>
-
forEach
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType Specific forEach method to reduce boxing/unboxing- Angegeben von:
forEachin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
forEachin KlasseAbstractObject2ObjectMap<T,V> - Parameter:
action- processor of the values that are iterator over
-
copy
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Function that does a shallow clone of the Map itself. This function is more optimized then a copy constructor since the Map does not have to be unsorted/resorted. It can be compared to Cloneable but with less exception risk- Angegeben von:
copyin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
copyin KlasseAbstractObject2ObjectMap<T,V> - Gibt zurück:
- a Shallow Copy of the Map
-
replace
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific replace method to replace an existing value- Angegeben von:
replacein SchnittstelleConcurrentMap<T,V> - Angegeben von:
replacein SchnittstelleMap<T,V> - Angegeben von:
replacein SchnittstelleObject2ObjectConcurrentMap<T,V> - Angegeben von:
replacein SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
replacein KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the element that should be searched foroldValue- the expected value to be replacednewValue- the value to replace the oldValue with.- Gibt zurück:
- true if the value got replaced
-
replace
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific replace method to reduce boxing/unboxing replace an existing value- Angegeben von:
replacein SchnittstelleConcurrentMap<T,V> - Angegeben von:
replacein SchnittstelleMap<T,V> - Angegeben von:
replacein SchnittstelleObject2ObjectConcurrentMap<T,V> - Angegeben von:
replacein SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
replacein KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the element that should be searched forvalue- the value to replace with.- Gibt zurück:
- the present value or default return value
-
compute
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computein SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
computein KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value- Gibt zurück:
- the result of the computation
-
computeIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeIfAbsentin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
computeIfAbsentin KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if not present- Gibt zurück:
- the result of the computed value or present value
-
supplyIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
supplyIfAbsentin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
supplyIfAbsentin KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the key that should be computedvalueProvider- the value if not present- Gibt zurück:
- the result of the computed value or present value
-
computeIfPresent
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeIfPresentin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
computeIfPresentin KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if present- Gibt zurück:
- the result of the default return value or present value
-
merge
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific merge method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
mergein SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
mergein KlasseAbstractObject2ObjectMap<T,V> - Parameter:
key- the key that should be be searched forvalue- the value that should be merged withmappingFunction- the operator that should generate the new Value- Gibt zurück:
- the result of the merge
-
clear
public void clear() -
trim
public boolean trim(int size) Beschreibung aus Schnittstelle kopiert:ITrimmableTrims the original collection down to the size of the current elements or the requested size depending which is bigger- Angegeben von:
trimin SchnittstelleITrimmable- Parameter:
size- the requested trim size.- Gibt zurück:
- if the internal array has been trimmed.
-
clearAndTrim
public void clearAndTrim(int size) Beschreibung aus Schnittstelle kopiert:ITrimmableTrims the collection down to the requested size and clears all elements while doing so- Angegeben von:
clearAndTrimin SchnittstelleITrimmable- Parameter:
size- the amount of elements that should be allowed
-
isEmpty
public boolean isEmpty() -
size
public int size() -
object2ObjectEntrySet
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapType Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.- Angegeben von:
object2ObjectEntrySetin SchnittstelleObject2ObjectMap<T,V> - Gibt zurück:
- a EntrySet of the collection
-
keySet
-
values
-