Class Object2ReferenceAVLTreeMap<K,V>
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction<K,V>
-
- it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap<K,V>
-
- it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap<K,V>
-
- it.unimi.dsi.fastutil.objects.Object2ReferenceAVLTreeMap<K,V>
-
- All Implemented Interfaces:
Function<K,V>
,Object2ReferenceFunction<K,V>
,Object2ReferenceMap<K,V>
,Object2ReferenceSortedMap<K,V>
,java.io.Serializable
,java.lang.Cloneable
,java.util.function.Function<K,V>
,java.util.Map<K,V>
,java.util.SortedMap<K,V>
public class Object2ReferenceAVLTreeMap<K,V> extends AbstractObject2ReferenceSortedMap<K,V> implements java.io.Serializable, java.lang.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.AbstractObject2ReferenceMap
AbstractObject2ReferenceMap.BasicEntry<K,V>, AbstractObject2ReferenceMap.BasicEntrySet<K,V>
-
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.objects.Object2ReferenceMap
Object2ReferenceMap.FastEntrySet<K,V>
-
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap
Object2ReferenceSortedMap.FastSortedEntrySet<K,V>
-
-
Constructor Summary
Constructors Constructor Description Object2ReferenceAVLTreeMap()
Creates a new empty tree map.Object2ReferenceAVLTreeMap(Object2ReferenceMap<? extends K,? extends V> m)
Creates a new tree map copying a given map.Object2ReferenceAVLTreeMap(Object2ReferenceSortedMap<K,V> m)
Creates a new tree map copying a given sorted map (and itsComparator
).Object2ReferenceAVLTreeMap(java.util.Comparator<? super K> c)
Creates a new empty tree map with the given comparator.Object2ReferenceAVLTreeMap(java.util.Map<? extends K,? extends V> m)
Creates a new tree map copying a given map.Object2ReferenceAVLTreeMap(java.util.SortedMap<K,V> m)
Creates a new tree map copying a given sorted map (and itsComparator
).Object2ReferenceAVLTreeMap(K[] k, V[] v)
Creates a new tree map using the elements of two parallel arrays.Object2ReferenceAVLTreeMap(K[] k, V[] v, java.util.Comparator<? super K> c)
Creates a new tree map using the elements of two parallel arrays and the given comparator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Removes all of the mappings from this map (optional operation).Object2ReferenceAVLTreeMap<K,V>
clone()
Returns a deep copy of this tree map.java.util.Comparator<? super K>
comparator()
Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.boolean
containsKey(java.lang.Object k)
Returns true if this function contains a mapping for the specified key.boolean
containsValue(java.lang.Object v)
K
firstKey()
V
get(java.lang.Object k)
Returns the value to which the given key is mapped.Object2ReferenceSortedMap<K,V>
headMap(K to)
Returns a view of the portion of this sorted map whose keys are strictly less thantoKey
.boolean
isEmpty()
ObjectSortedSet<K>
keySet()
Returns a type-specific sorted set view of the keys contained in this map.K
lastKey()
ObjectSortedSet<Object2ReferenceMap.Entry<K,V>>
object2ReferenceEntrySet()
Returns a type-specific sorted-set view of the mappings contained in this map.V
put(K k, V v)
Adds a pair to the map (optional operation).V
remove(java.lang.Object k)
Removes the mapping with the given key (optional operation).int
size()
Returns the number of key/value mappings in this map.Object2ReferenceSortedMap<K,V>
subMap(K from, K to)
Returns a view of the portion of this sorted map whose keys range fromfromKey
, inclusive, totoKey
, exclusive.Object2ReferenceSortedMap<K,V>
tailMap(K from)
Returns a view of the portion of this sorted map whose keys are greater than or equal tofromKey
.ReferenceCollection<V>
values()
Returns a type-specific collection view of the values contained in this map.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap
equals, hashCode, putAll, toString
-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction
defaultReturnValue, defaultReturnValue
-
Methods inherited from interface java.util.Map
computeIfAbsent, equals, getOrDefault, hashCode, putAll, replaceAll
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2ReferenceFunction
andThenByte, andThenChar, andThenDouble, andThenFloat, andThenInt, andThenLong, andThenObject, andThenReference, andThenShort, composeByte, composeChar, composeDouble, composeFloat, composeInt, composeLong, composeObject, composeReference, composeShort
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2ReferenceMap
compute, computeIfAbsent, computeIfPresent, computeReferenceIfAbsentPartial, defaultReturnValue, defaultReturnValue, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap
entrySet
-
-
-
-
Constructor Detail
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap()
Creates a new empty tree map.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(java.util.Comparator<? super K> c)
Creates a new empty tree map with the given comparator.- Parameters:
c
- a (possibly type-specific) comparator.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(java.util.Map<? extends K,? extends V> m)
Creates a new tree map copying a given map.- Parameters:
m
- aMap
to be copied into the new tree map.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(java.util.SortedMap<K,V> m)
Creates a new tree map copying a given sorted map (and itsComparator
).- Parameters:
m
- aSortedMap
to be copied into the new tree map.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(Object2ReferenceMap<? extends K,? extends V> m)
Creates a new tree map copying a given map.- Parameters:
m
- a type-specific map to be copied into the new tree map.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(Object2ReferenceSortedMap<K,V> 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.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(K[] k, V[] v, java.util.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:
java.lang.IllegalArgumentException
- ifk
andv
have different lengths.
-
Object2ReferenceAVLTreeMap
public Object2ReferenceAVLTreeMap(K[] k, V[] 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:
java.lang.IllegalArgumentException
- ifk
andv
have different lengths.
-
-
Method Detail
-
put
public V put(K k, V v)
Description copied from interface:Object2ReferenceMap
Adds a pair to the map (optional operation).This default implementation just delegates to the corresponding function method.
- Specified by:
put
in interfaceFunction<K,V>
- Specified by:
put
in interfacejava.util.Map<K,V>
- Specified by:
put
in interfaceObject2ReferenceFunction<K,V>
- Specified by:
put
in interfaceObject2ReferenceMap<K,V>
- 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)
-
remove
public V remove(java.lang.Object k)
Description copied from interface:Object2ReferenceMap
Removes the mapping with the given key (optional operation).This default implementation just delegates to the corresponding type-specific–function method.
- Specified by:
remove
in interfaceFunction<K,V>
- Specified by:
remove
in interfacejava.util.Map<K,V>
- Specified by:
remove
in interfaceObject2ReferenceFunction<K,V>
- Specified by:
remove
in interfaceObject2ReferenceMap<K,V>
- 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(java.lang.Object v)
Description copied from class:AbstractObject2ReferenceMap
- Specified by:
containsValue
in interfacejava.util.Map<K,V>
- Overrides:
containsValue
in classAbstractObject2ReferenceMap<K,V>
-
clear
public void clear()
Description copied from interface:Object2ReferenceMap
Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
-
containsKey
public boolean containsKey(java.lang.Object k)
Description copied from class:AbstractObject2ReferenceMap
Returns true if this function contains a mapping for the specified key.- Specified by:
containsKey
in interfaceFunction<K,V>
- Specified by:
containsKey
in interfacejava.util.Map<K,V>
- Specified by:
containsKey
in interfaceObject2ReferenceMap<K,V>
- Overrides:
containsKey
in classAbstractObject2ReferenceMap<K,V>
- 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:Object2ReferenceMap
Returns the number of key/value mappings in this map. If the map contains more thanInteger.MAX_VALUE
elements, returnsInteger.MAX_VALUE
.
-
isEmpty
public boolean isEmpty()
-
get
public V get(java.lang.Object k)
Description copied from interface:Object2ReferenceFunction
Returns the value to which the given key is mapped.- Specified by:
get
in interfaceFunction<K,V>
- Specified by:
get
in interfacejava.util.Map<K,V>
- Specified by:
get
in interfaceObject2ReferenceFunction<K,V>
- 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)
-
object2ReferenceEntrySet
public ObjectSortedSet<Object2ReferenceMap.Entry<K,V>> object2ReferenceEntrySet()
Description copied from interface:Object2ReferenceSortedMap
Returns a type-specific sorted-set view of the mappings contained in this map.- Specified by:
object2ReferenceEntrySet
in interfaceObject2ReferenceMap<K,V>
- Specified by:
object2ReferenceEntrySet
in interfaceObject2ReferenceSortedMap<K,V>
- Returns:
- a type-specific sorted-set view of the mappings contained in this map.
- See Also:
Object2ReferenceSortedMap.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:
keySet
in interfacejava.util.Map<K,V>
- Specified by:
keySet
in interfaceObject2ReferenceMap<K,V>
- Specified by:
keySet
in interfaceObject2ReferenceSortedMap<K,V>
- Specified by:
keySet
in interfacejava.util.SortedMap<K,V>
- Overrides:
keySet
in classAbstractObject2ReferenceSortedMap<K,V>
- Returns:
- a type-specific sorted set view of the keys contained in this map.
- See Also:
Map.keySet()
-
values
public ReferenceCollection<V> 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:
values
in interfacejava.util.Map<K,V>
- Specified by:
values
in interfaceObject2ReferenceMap<K,V>
- Specified by:
values
in interfaceObject2ReferenceSortedMap<K,V>
- Specified by:
values
in interfacejava.util.SortedMap<K,V>
- Overrides:
values
in classAbstractObject2ReferenceSortedMap<K,V>
- Returns:
- a type-specific collection view of the values contained in this map.
- See Also:
Map.values()
-
comparator
public java.util.Comparator<? super K> comparator()
Description copied from interface:Object2ReferenceSortedMap
Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.- Specified by:
comparator
in interfaceObject2ReferenceSortedMap<K,V>
- Specified by:
comparator
in interfacejava.util.SortedMap<K,V>
- See Also:
SortedMap.comparator()
-
headMap
public Object2ReferenceSortedMap<K,V> headMap(K to)
Description copied from interface:Object2ReferenceSortedMap
Returns a view of the portion of this sorted map whose keys are strictly less thantoKey
.
-
tailMap
public Object2ReferenceSortedMap<K,V> tailMap(K from)
Description copied from interface:Object2ReferenceSortedMap
Returns a view of the portion of this sorted map whose keys are greater than or equal tofromKey
.
-
subMap
public Object2ReferenceSortedMap<K,V> subMap(K from, K to)
Description copied from interface:Object2ReferenceSortedMap
Returns a view of the portion of this sorted map whose keys range fromfromKey
, inclusive, totoKey
, exclusive.
-
clone
public Object2ReferenceAVLTreeMap<K,V> 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.
-
-