Modul speiger.src.collections
Klasse Object2ObjectRBTreeMap<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.tree.Object2ObjectRBTreeMap<T,V>
- Typparameter:
T- the keyType of elements maintained by this CollectionV- the keyType of elements maintained by this Collection
- Alle implementierten Schnittstellen:
Function<T,,V> Map<T,,V> NavigableMap<T,,V> SortedMap<T,,V> UnaryOperator<T,,V> Object2ObjectMap<T,,V> Object2ObjectNavigableMap<T,,V> Object2ObjectSortedMap<T,V>
public class Object2ObjectRBTreeMap<T,V>
extends AbstractObject2ObjectMap<T,V>
implements Object2ObjectNavigableMap<T,V>
A Simple Type Specific RB TreeMap implementation that reduces boxing/unboxing.
It is using a bit more memory then FastUtil,
but it saves a lot of Performance on the Optimized removal and iteration logic.
Which makes the implementation actually useable and does not get outperformed by Javas default implementation.
-
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 Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen speiger.src.collections.objects.maps.interfaces.Object2ObjectSortedMap
Object2ObjectSortedMap.FastSortedSet<T,V> -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDefault ConstructorObject2ObjectRBTreeMap(Comparator<T> comp) Constructor that allows to define the sorterObject2ObjectRBTreeMap(Map<? extends T, ? extends V> map) A Helper constructor that allows to create a Map with exactly the same values as the provided map.Object2ObjectRBTreeMap(Map<? extends T, ? extends V> map, Comparator<T> comp) A Helper constructor that has a custom sorter and 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.Object2ObjectRBTreeMap(Object2ObjectMap<T, V> map, Comparator<T> comp) A Type Specific Helper function that has a custom sorter and allows to create a new Map with exactly the same values as the provided map.Object2ObjectRBTreeMap(T[] keys, V[] values) Helper constructor that allow to create a map from unboxed valuesObject2ObjectRBTreeMap(T[] keys, V[] values, Comparator<T> comp) Helper constructor that has a custom sorter and allow to create a map from unboxed values -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungceilingEntry(T key) ceilingKey(T e) voidclear()compute(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".booleancontainsKey(Object key) copy()A Function that does a shallow clone of the Map itself.firstKey()A method to get the first Value of a Map.floorEntry(T key) voidforEach(ObjectObjectConsumer<T, V> action) Type Specific forEach method to reduce boxing/unboxingonly used for primitivesonly used for primitivesA Type Specific get method to reduce boxing/unboxinggetOrDefault(Object key, V defaultValue) higherEntry(T key) keySet()lastKey()A method to get the last Value of a Map.lowerEntry(T key) 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".voidmergeAll(Object2ObjectMap<T, V> m, ObjectObjectUnaryOperator<V, V> mappingFunction) A Bulk method for merging Maps.Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.A method to get and remove the first Key of a Map.A method to get and remove the last Key of a Map.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".values()Von Klasse geerbte Methoden speiger.src.collections.objects.maps.abstracts.AbstractObject2ObjectMap
containsValue, entrySet, equals, get, getDefaultReturnValue, hashCode, putAll, putAll, putAll, putAllIfAbsent, remove, replaceObjects, replaceObjects, setDefaultReturnValueVon Klasse geerbte Methoden java.util.AbstractMap
isEmpty, toStringVon Schnittstelle geerbte Methoden java.util.Map
containsValue, equals, get, hashCode, isEmpty, putAllVon Schnittstelle geerbte Methoden speiger.src.collections.objects.maps.interfaces.Object2ObjectMap
apply, compute, computeIfAbsent, computeIfPresent, entrySet, forEach, getDefaultReturnValue, merge, put, putAll, putAll, putAll, putAllIfAbsent, remove, replaceAll, replaceObjects, replaceObjects, setDefaultReturnValueVon Schnittstelle geerbte Methoden speiger.src.collections.objects.maps.interfaces.Object2ObjectNavigableMap
headMap, subMap, synchronize, synchronize, tailMap, unmodifiableVon Schnittstelle geerbte Methoden speiger.src.collections.objects.functions.function.UnaryOperator
andThen, compose
-
Konstruktordetails
-
Object2ObjectRBTreeMap
public Object2ObjectRBTreeMap()Default Constructor -
Object2ObjectRBTreeMap
Constructor that allows to define the sorter- Parameter:
comp- the function that decides how the tree is sorted, can be null
-
Object2ObjectRBTreeMap
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
-
Object2ObjectRBTreeMap
Helper constructor that has a custom sorter and 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.comp- the function that decides how the tree is sorted, can be null- Löst aus:
IllegalStateException- if the keys and values do not match in lenght
-
Object2ObjectRBTreeMap
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
-
Object2ObjectRBTreeMap
A Helper constructor that has a custom sorter and allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the mapcomp- the function that decides how the tree is sorted, can be null
-
Object2ObjectRBTreeMap
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
-
Object2ObjectRBTreeMap
A Type Specific Helper function that has a custom sorter and 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 mapcomp- the function that decides how the tree is sorted, can be null
-
-
Methodendetails
-
getDefaultMaxValue
only used for primitives- Gibt zurück:
- null
-
getDefaultMinValue
only used for primitives- Gibt zurück:
- null
-
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 SchnittstelleMap<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:
-
comparator
- Angegeben von:
comparatorin SchnittstelleObject2ObjectSortedMap<T,V> - Angegeben von:
comparatorin SchnittstelleSortedMap<T,V>
-
containsKey
- Angegeben von:
containsKeyin SchnittstelleMap<T,V> - Setzt außer Kraft:
containsKeyin KlasseAbstractObject2ObjectMap<T,V>
-
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
-
getOrDefault
- Angegeben von:
getOrDefaultin SchnittstelleMap<T,V> - Setzt außer Kraft:
getOrDefaultin KlasseAbstractObject2ObjectMap<T,V>
-
firstKey
-
pollFirstKey
Beschreibung aus Schnittstelle kopiert:Object2ObjectSortedMapA method to get and remove the first Key of a Map.- Angegeben von:
pollFirstKeyin SchnittstelleObject2ObjectSortedMap<T,V> - Gibt zurück:
- the first key in the map
-
lastKey
-
pollLastKey
Beschreibung aus Schnittstelle kopiert:Object2ObjectSortedMapA method to get and remove the last Key of a Map.- Angegeben von:
pollLastKeyin SchnittstelleObject2ObjectSortedMap<T,V> - Gibt zurück:
- the last key in the map
-
firstEntry
- Angegeben von:
firstEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
firstEntryin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific firstEntry
-
lastEntry
- Angegeben von:
lastEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
lastEntryin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific lastEntry
-
pollFirstEntry
- Angegeben von:
pollFirstEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
pollFirstEntryin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific pollFirstEntry
-
pollLastEntry
- Angegeben von:
pollLastEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
pollLastEntryin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific pollLastEntry
-
firstValue
Beschreibung aus Schnittstelle kopiert:Object2ObjectSortedMapA method to get the first Value of a Map.- Angegeben von:
firstValuein SchnittstelleObject2ObjectSortedMap<T,V> - Gibt zurück:
- the first key in the map
-
lastValue
Beschreibung aus Schnittstelle kopiert:Object2ObjectSortedMapA method to get the last Value of a Map.- Angegeben von:
lastValuein SchnittstelleObject2ObjectSortedMap<T,V> - Gibt zurück:
- the last key in the map
-
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
-
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:
-
remove
-
replace
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Type Specific replace method to replace an existing value- Angegeben von:
replacein SchnittstelleMap<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 SchnittstelleMap<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
-
mergeAll
Beschreibung aus Schnittstelle kopiert:Object2ObjectMapA Bulk method for merging Maps. 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:
mergeAllin SchnittstelleObject2ObjectMap<T,V> - Setzt außer Kraft:
mergeAllin KlasseAbstractObject2ObjectMap<T,V> - Parameter:
m- the entries that should be bulk addedmappingFunction- the operator that should generate the new Value
-
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
-
size
public int size() -
clear
public void clear() -
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> - Angegeben von:
copyin SchnittstelleObject2ObjectNavigableMap<T,V> - Angegeben von:
copyin SchnittstelleObject2ObjectSortedMap<T,V> - Setzt außer Kraft:
copyin KlasseAbstractObject2ObjectMap<T,V> - Gibt zurück:
- a Shallow Copy of the Map
-
keySet
- Angegeben von:
keySetin SchnittstelleMap<T,V> - Angegeben von:
keySetin SchnittstelleObject2ObjectMap<T,V> - Angegeben von:
keySetin SchnittstelleObject2ObjectNavigableMap<T,V> - Angegeben von:
keySetin SchnittstelleObject2ObjectSortedMap<T,V> - Angegeben von:
keySetin SchnittstelleSortedMap<T,V> - Setzt außer Kraft:
keySetin KlasseAbstractObject2ObjectMap<T,V> - Gibt zurück:
- a Type Specific Navigable Key Set
-
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
-
values
-
descendingMap
- Angegeben von:
descendingMapin SchnittstelleNavigableMap<T,V> - Angegeben von:
descendingMapin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific desendingMap
-
descendingKeySet
- Angegeben von:
descendingKeySetin SchnittstelleNavigableMap<T,V> - Angegeben von:
descendingKeySetin SchnittstelleObject2ObjectNavigableMap<T,V> - Gibt zurück:
- a Type Specific Desending Key Set
-
subMap
public Object2ObjectNavigableMap<T,V> subMap(T fromKey, boolean fromInclusive, T toKey, boolean toInclusive) - Angegeben von:
subMapin SchnittstelleNavigableMap<T,V> - Angegeben von:
subMapin SchnittstelleObject2ObjectNavigableMap<T,V>
-
headMap
- Angegeben von:
headMapin SchnittstelleNavigableMap<T,V> - Angegeben von:
headMapin SchnittstelleObject2ObjectNavigableMap<T,V>
-
tailMap
- Angegeben von:
tailMapin SchnittstelleNavigableMap<T,V> - Angegeben von:
tailMapin SchnittstelleObject2ObjectNavigableMap<T,V>
-
lowerKey
- Angegeben von:
lowerKeyin SchnittstelleNavigableMap<T,V>
-
floorKey
- Angegeben von:
floorKeyin SchnittstelleNavigableMap<T,V>
-
higherKey
- Angegeben von:
higherKeyin SchnittstelleNavigableMap<T,V>
-
ceilingKey
- Angegeben von:
ceilingKeyin SchnittstelleNavigableMap<T,V>
-
lowerEntry
- Angegeben von:
lowerEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
lowerEntryin SchnittstelleObject2ObjectNavigableMap<T,V>
-
higherEntry
- Angegeben von:
higherEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
higherEntryin SchnittstelleObject2ObjectNavigableMap<T,V>
-
floorEntry
- Angegeben von:
floorEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
floorEntryin SchnittstelleObject2ObjectNavigableMap<T,V>
-
ceilingEntry
- Angegeben von:
ceilingEntryin SchnittstelleNavigableMap<T,V> - Angegeben von:
ceilingEntryin SchnittstelleObject2ObjectNavigableMap<T,V>
-