Class Object2DoubleAVLTreeMap<K>
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.AbstractObject2DoubleFunction<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObject2DoubleMap<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObject2DoubleSortedMap<K>
-
- it.unimi.dsi.fastutil.objects.Object2DoubleAVLTreeMap<K>
-
- All Implemented Interfaces:
Function<K,Double>,Object2DoubleFunction<K>,Object2DoubleMap<K>,Object2DoubleSortedMap<K>,Serializable,Cloneable,Function<K,Double>,ToDoubleFunction<K>,Map<K,Double>,SortedMap<K,Double>
public class Object2DoubleAVLTreeMap<K> extends AbstractObject2DoubleSortedMap<K> implements Serializable, Cloneable
A type-specific AVL tree map with a fast, small-footprint implementation.The iterators provided by the views of this class are type-specific bidirectional iterators. Moreover, the iterator returned by
iterator()can be safely cast to a type-specific list iterator.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2DoubleMap
AbstractObject2DoubleMap.BasicEntry<K>, AbstractObject2DoubleMap.BasicEntrySet<K>
-
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.objects.Object2DoubleMap
Object2DoubleMap.FastEntrySet<K>
-
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.objects.Object2DoubleSortedMap
Object2DoubleSortedMap.FastSortedEntrySet<K>
-
-
Constructor Summary
Constructors Constructor Description Object2DoubleAVLTreeMap()Creates a new empty tree map.Object2DoubleAVLTreeMap(Object2DoubleMap<? extends K> m)Creates a new tree map copying a given map.Object2DoubleAVLTreeMap(Object2DoubleSortedMap<K> m)Creates a new tree map copying a given sorted map (and itsComparator).Object2DoubleAVLTreeMap(Comparator<? super K> c)Creates a new empty tree map with the given comparator.Object2DoubleAVLTreeMap(Map<? extends K,? extends Double> m)Creates a new tree map copying a given map.Object2DoubleAVLTreeMap(SortedMap<K,Double> m)Creates a new tree map copying a given sorted map (and itsComparator).Object2DoubleAVLTreeMap(K[] k, double[] v)Creates a new tree map using the elements of two parallel arrays.Object2DoubleAVLTreeMap(K[] k, double[] v, Comparator<? super K> c)Creates a new tree map using the elements of two parallel arrays and the given comparator.
-
Method Summary
Modifier and Type Method Description doubleaddTo(K k, double incr)Adds an increment to value currently associated with a key.voidclear()Removes all of the mappings from this map (optional operation).Object2DoubleAVLTreeMap<K>clone()Returns a deep copy of this tree map.Comparator<? super K>comparator()Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.booleancontainsKey(Object k)Returns true if this function contains a mapping for the specified key.booleancontainsValue(double v)Returnstrueif this map maps one or more keys to the specified value.KfirstKey()doublegetDouble(Object k)Returns the value to which the given key is mapped.Object2DoubleSortedMap<K>headMap(K to)Returns a view of the portion of this sorted map whose keys are strictly less thantoKey.booleanisEmpty()ObjectSortedSet<K>keySet()Returns a type-specific sorted set view of the keys contained in this map.KlastKey()ObjectSortedSet<Object2DoubleMap.Entry<K>>object2DoubleEntrySet()Returns a type-specific sorted-set view of the mappings contained in this map.doubleput(K k, double v)Adds a pair to the map (optional operation).doubleremoveDouble(Object k)Removes the mapping with the given key (optional operation).intsize()Returns the number of key/value mappings in this map.Object2DoubleSortedMap<K>subMap(K from, K to)Returns a view of the portion of this sorted map whose keys range fromfromKey, inclusive, totoKey, exclusive.Object2DoubleSortedMap<K>tailMap(K from)Returns a view of the portion of this sorted map whose keys are greater than or equal tofromKey.DoubleCollectionvalues()Returns a type-specific collection view of the values contained in this map.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2DoubleMap
equals, hashCode, putAll, toString
-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2DoubleFunction
defaultReturnValue, defaultReturnValue
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, get, hashCode, put, putAll, remove, replaceAll
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2DoubleFunction
applyAsDouble
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2DoubleMap
computeDouble, computeDoubleIfAbsent, computeDoubleIfAbsentPartial, computeDoubleIfPresent, containsValue, defaultReturnValue, defaultReturnValue, get, getOrDefault, getOrDefault, merge, mergeDouble, put, putIfAbsent, putIfAbsent, remove, remove, remove, replace, replace, replace, replace
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2DoubleSortedMap
entrySet
-
-
-
-
Constructor Detail
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap()
Creates a new empty tree map.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(Comparator<? super K> c)
Creates a new empty tree map with the given comparator.- Parameters:
c- a (possibly type-specific) comparator.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(Map<? extends K,? extends Double> m)
Creates a new tree map copying a given map.- Parameters:
m- aMapto be copied into the new tree map.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(SortedMap<K,Double> m)
Creates a new tree map copying a given sorted map (and itsComparator).- Parameters:
m- aSortedMapto be copied into the new tree map.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(Object2DoubleMap<? extends K> m)
Creates a new tree map copying a given map.- Parameters:
m- a type-specific map to be copied into the new tree map.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(Object2DoubleSortedMap<K> m)
Creates a new tree map copying a given sorted map (and itsComparator).- Parameters:
m- a type-specific sorted map to be copied into the new tree map.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(K[] k, double[] v, Comparator<? super K> c)
Creates a new tree map using the elements of two parallel arrays and the given comparator.- Parameters:
k- the array of keys of the new tree map.v- the array of corresponding values in the new tree map.c- a (possibly type-specific) comparator.- Throws:
IllegalArgumentException- ifkandvhave different lengths.
-
Object2DoubleAVLTreeMap
public Object2DoubleAVLTreeMap(K[] k, double[] v)
Creates a new tree map using the elements of two parallel arrays.- Parameters:
k- the array of keys of the new tree map.v- the array of corresponding values in the new tree map.- Throws:
IllegalArgumentException- ifkandvhave different lengths.
-
-
Method Detail
-
addTo
public double addTo(K k, double incr)
Adds an increment to value currently associated with a key.Note that this method respects the default return value semantics: when called with a key that does not currently appears in the map, the key will be associated with the default return value plus the given increment.
- Parameters:
k- the key.incr- the increment.- Returns:
- the old value, or the default return value if no value was present for the given key.
-
put
public double put(K k, double v)
Description copied from interface:Object2DoubleFunctionAdds a pair to the map (optional operation).- Specified by:
putin interfaceObject2DoubleFunction<K>- Parameters:
k- the key.v- the value.- Returns:
- the old value, or the default return value if no value was present for the given key.
- See Also:
Function.put(Object,Object)
-
removeDouble
public double removeDouble(Object k)
Description copied from interface:Object2DoubleFunctionRemoves the mapping with the given key (optional operation).- Specified by:
removeDoublein interfaceObject2DoubleFunction<K>- Parameters:
k- the key.- Returns:
- the old value, or the default return value if no value was present for the given key.
- See Also:
Function.remove(Object)
-
containsValue
public boolean containsValue(double v)
Description copied from interface:Object2DoubleMapReturnstrueif this map maps one or more keys to the specified value.- Specified by:
containsValuein interfaceObject2DoubleMap<K>- Overrides:
containsValuein classAbstractObject2DoubleMap<K>- See Also:
Map.containsValue(Object)
-
clear
public void clear()
Description copied from interface:Object2DoubleMapRemoves all of the mappings from this map (optional operation). The map will be empty after this call returns.
-
containsKey
public boolean containsKey(Object k)
Description copied from interface:Object2DoubleMapReturns true if this function contains a mapping for the specified key.- Specified by:
containsKeyin interfaceFunction<K,Double>- Specified by:
containsKeyin interfaceMap<K,Double>- Specified by:
containsKeyin interfaceObject2DoubleMap<K>- Overrides:
containsKeyin classAbstractObject2DoubleMap<K>- Parameters:
k- the key.- Returns:
- true if this function associates a value to
key. - See Also:
Map.containsKey(Object)
-
size
public int size()
Description copied from interface:Object2DoubleMapReturns the number of key/value mappings in this map. If the map contains more thanInteger.MAX_VALUEelements, returnsInteger.MAX_VALUE.
-
isEmpty
public boolean isEmpty()
-
getDouble
public double getDouble(Object k)
Description copied from interface:Object2DoubleFunctionReturns the value to which the given key is mapped.- Specified by:
getDoublein interfaceObject2DoubleFunction<K>- Parameters:
k- the key.- Returns:
- the corresponding value, or the default return value if no value was present for the given key.
- See Also:
Function.get(Object)
-
object2DoubleEntrySet
public ObjectSortedSet<Object2DoubleMap.Entry<K>> object2DoubleEntrySet()
Description copied from interface:Object2DoubleSortedMapReturns a type-specific sorted-set view of the mappings contained in this map.Note that this specification strengthens the one given in the corresponding type-specific unsorted map.
- Specified by:
object2DoubleEntrySetin interfaceObject2DoubleMap<K>- Specified by:
object2DoubleEntrySetin interfaceObject2DoubleSortedMap<K>- Returns:
- a type-specific sorted-set view of the mappings contained in this map.
- See Also:
Object2DoubleSortedMap.entrySet()
-
keySet
public ObjectSortedSet<K> keySet()
Returns a type-specific sorted set view of the keys contained in this map.In addition to the semantics of
Map.keySet(), you can safely cast the set returned by this call to a type-specific sorted set interface.- Specified by:
keySetin interfaceMap<K,Double>- Specified by:
keySetin interfaceObject2DoubleMap<K>- Specified by:
keySetin interfaceObject2DoubleSortedMap<K>- Specified by:
keySetin interfaceSortedMap<K,Double>- Overrides:
keySetin classAbstractObject2DoubleSortedMap<K>- Returns:
- a type-specific sorted set view of the keys contained in this map.
- See Also:
Map.keySet()
-
values
public DoubleCollection values()
Returns a type-specific collection view of the values contained in this map.In addition to the semantics of
Map.values(), you can safely cast the collection returned by this call to a type-specific collection interface.- Specified by:
valuesin interfaceMap<K,Double>- Specified by:
valuesin interfaceObject2DoubleMap<K>- Specified by:
valuesin interfaceObject2DoubleSortedMap<K>- Specified by:
valuesin interfaceSortedMap<K,Double>- Overrides:
valuesin classAbstractObject2DoubleSortedMap<K>- Returns:
- a type-specific collection view of the values contained in this map.
- See Also:
Map.values()
-
comparator
public Comparator<? super K> comparator()
Description copied from interface:Object2DoubleSortedMapReturns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.Note that this specification strengthens the one given in
SortedMap.comparator().- Specified by:
comparatorin interfaceObject2DoubleSortedMap<K>- Specified by:
comparatorin interfaceSortedMap<K,Double>- See Also:
SortedMap.comparator()
-
headMap
public Object2DoubleSortedMap<K> headMap(K to)
Description copied from interface:Object2DoubleSortedMapReturns a view of the portion of this sorted map whose keys are strictly less thantoKey.Note that this specification strengthens the one given in
SortedMap.headMap(Object).- Specified by:
headMapin interfaceObject2DoubleSortedMap<K>- Specified by:
headMapin interfaceSortedMap<K,Double>- See Also:
SortedMap.headMap(Object)
-
tailMap
public Object2DoubleSortedMap<K> tailMap(K from)
Description copied from interface:Object2DoubleSortedMapReturns a view of the portion of this sorted map whose keys are greater than or equal tofromKey.Note that this specification strengthens the one given in
SortedMap.tailMap(Object).- Specified by:
tailMapin interfaceObject2DoubleSortedMap<K>- Specified by:
tailMapin interfaceSortedMap<K,Double>- See Also:
SortedMap.tailMap(Object)
-
subMap
public Object2DoubleSortedMap<K> subMap(K from, K to)
Description copied from interface:Object2DoubleSortedMapReturns a view of the portion of this sorted map whose keys range fromfromKey, inclusive, totoKey, exclusive.Note that this specification strengthens the one given in
SortedMap.subMap(Object,Object).- Specified by:
subMapin interfaceObject2DoubleSortedMap<K>- Specified by:
subMapin interfaceSortedMap<K,Double>- See Also:
SortedMap.subMap(Object,Object)
-
clone
public Object2DoubleAVLTreeMap<K> clone()
Returns a deep copy of this tree map.This method performs a deep copy of this tree map; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.
- Returns:
- a deep copy of this tree map.
-
-