|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectit.unimi.dsi.fastutil.ints.AbstractInt2LongFunction
it.unimi.dsi.fastutil.ints.AbstractInt2LongMap
it.unimi.dsi.fastutil.ints.AbstractInt2LongSortedMap
it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap
public class Int2LongRBTreeMap
A type-specific red-black 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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongSortedMap |
---|
AbstractInt2LongSortedMap.KeySetIterator, AbstractInt2LongSortedMap.ValuesCollection, AbstractInt2LongSortedMap.ValuesIterator |
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongMap |
---|
AbstractInt2LongMap.BasicEntry |
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.ints.Int2LongSortedMap |
---|
Int2LongSortedMap.FastSortedEntrySet |
Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.ints.Int2LongMap |
---|
Int2LongMap.FastEntrySet |
Field Summary | |
---|---|
protected IntComparator |
actualComparator
This map's actual comparator; it may differ from storedComparator because it is
always a type-specific comparator, so it could be derived from the former by wrapping. |
protected int |
count
Number of entries in this map. |
protected ObjectSortedSet<Int2LongMap.Entry> |
entries
Cached set of entries. |
protected it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry |
firstEntry
The first key in this map. |
protected IntSortedSet |
keys
Cached set of keys. |
protected it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry |
lastEntry
The last key in this map. |
protected boolean |
modified
The value of this variable remembers, after a put()
or a remove() , whether the domain of the map
has been modified. |
static long |
serialVersionUID
|
protected Comparator<? super Integer> |
storedComparator
This map's comparator, as provided in the constructor. |
protected it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry |
tree
A reference to the root entry. |
protected LongCollection |
values
Cached collection of values. |
Fields inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongFunction |
---|
defRetValue |
Constructor Summary | |
---|---|
Int2LongRBTreeMap()
Creates a new empty tree map. |
|
Int2LongRBTreeMap(Comparator<? super Integer> c)
Creates a new empty tree map with the given comparator. |
|
Int2LongRBTreeMap(int[] k,
long[] v)
Creates a new tree map using the elements of two parallel arrays. |
|
Int2LongRBTreeMap(int[] k,
long[] v,
Comparator<? super Integer> c)
Creates a new tree map using the elements of two parallel arrays and the given comparator. |
|
Int2LongRBTreeMap(Int2LongMap m)
Creates a new tree map copying a given map. |
|
Int2LongRBTreeMap(Int2LongSortedMap m)
Creates a new tree map copying a given sorted map (and its Comparator ). |
|
Int2LongRBTreeMap(Map<? extends Integer,? extends Long> m)
Creates a new tree map copying a given map. |
|
Int2LongRBTreeMap(SortedMap<Integer,Long> m)
Creates a new tree map copying a given sorted map (and its Comparator ). |
Method Summary | |
---|---|
void |
clear()
Removes all associations from this function (optional operation). |
Int2LongRBTreeMap |
clone()
Returns a deep copy of this tree map. |
IntComparator |
comparator()
Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering. |
boolean |
containsKey(int k)
Checks whether the given value is contained in AbstractInt2LongMap.keySet() . |
boolean |
containsValue(long v)
Checks whether the given value is contained in AbstractInt2LongMap.values() . |
int |
firstIntKey()
|
long |
get(int k)
Returns the value to which the given key is mapped. |
Int2LongSortedMap |
headMap(int to)
Returns a view of the portion of this sorted map whose keys are strictly less than toKey . |
ObjectSortedSet<Int2LongMap.Entry> |
int2LongEntrySet()
Returns a type-specific sorted-set view of the mappings contained in this map. |
boolean |
isEmpty()
|
IntSortedSet |
keySet()
Returns a type-specific sorted set view of the keys contained in this map. |
int |
lastIntKey()
|
Long |
put(Integer ok,
Long ov)
Delegates to the corresponding type-specific method, taking care of returning null on a missing key. |
long |
put(int k,
long v)
Adds a pair to the map. |
long |
remove(int k)
Removes the mapping with the given key. |
Long |
remove(Object ok)
Delegates to the corresponding type-specific method, taking care of returning null on a missing key. |
int |
size()
Returns the intended number of keys in this function, or -1 if no such number exists. |
Int2LongSortedMap |
subMap(int from,
int to)
Returns a view of the portion of this sorted map whose keys range from fromKey , inclusive, to toKey , exclusive. |
Int2LongSortedMap |
tailMap(int from)
Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey . |
LongCollection |
values()
Returns a type-specific collection view of the values contained in this map. |
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongSortedMap |
---|
entrySet, firstKey, headMap, lastKey, subMap, tailMap |
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongMap |
---|
containsValue, equals, hashCode, putAll, toString |
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractInt2LongFunction |
---|
containsKey, defaultReturnValue, defaultReturnValue, get |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface it.unimi.dsi.fastutil.ints.Int2LongFunction |
---|
defaultReturnValue, defaultReturnValue |
Methods inherited from interface it.unimi.dsi.fastutil.Function |
---|
containsKey, get |
Methods inherited from interface java.util.Map |
---|
containsKey, containsValue, equals, get, hashCode, putAll |
Field Detail |
---|
protected transient it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry tree
protected int count
protected transient it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry firstEntry
protected transient it.unimi.dsi.fastutil.ints.Int2LongRBTreeMap.Entry lastEntry
protected transient volatile ObjectSortedSet<Int2LongMap.Entry> entries
protected transient volatile IntSortedSet keys
protected transient volatile LongCollection values
protected transient boolean modified
put()
or a remove()
, whether the domain of the map
has been modified.
protected Comparator<? super Integer> storedComparator
protected transient IntComparator actualComparator
storedComparator
because it is
always a type-specific comparator, so it could be derived from the former by wrapping.
public static final long serialVersionUID
Constructor Detail |
---|
public Int2LongRBTreeMap()
public Int2LongRBTreeMap(Comparator<? super Integer> c)
c
- a (possibly type-specific) comparator.public Int2LongRBTreeMap(Map<? extends Integer,? extends Long> m)
m
- a Map
to be copied into the new tree map.public Int2LongRBTreeMap(SortedMap<Integer,Long> m)
Comparator
).
m
- a SortedMap
to be copied into the new tree map.public Int2LongRBTreeMap(Int2LongMap m)
m
- a type-specific map to be copied into the new tree map.public Int2LongRBTreeMap(Int2LongSortedMap m)
Comparator
).
m
- a type-specific sorted map to be copied into the new tree map.public Int2LongRBTreeMap(int[] k, long[] v, Comparator<? super Integer> c)
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.
IllegalArgumentException
- if k
and v
have different lengths.public Int2LongRBTreeMap(int[] k, long[] v)
k
- the array of keys of the new tree map.v
- the array of corresponding values in the new tree map.
IllegalArgumentException
- if k
and v
have different lengths.Method Detail |
---|
public long put(int k, long v)
Int2LongFunction
put
in interface Int2LongFunction
put
in class AbstractInt2LongFunction
k
- the key.v
- the value.
Function.put(Object,Object)
public long remove(int k)
Int2LongFunction
remove
in interface Int2LongFunction
remove
in class AbstractInt2LongFunction
Function.remove(Object)
public Long put(Integer ok, Long ov)
AbstractInt2LongFunction
null
on a missing key.
This method must check whether the provided key is in the map using containsKey()
. Thus,
it probes the map twice. Implementors of subclasses should override it with a more efficient method.
put
in interface Function<Integer,Long>
put
in interface Map<Integer,Long>
put
in class AbstractInt2LongFunction
ok
- the key.ov
- the value.
null
if no value was present for the given key.Map.put(Object,Object)
public Long remove(Object ok)
AbstractInt2LongFunction
null
on a missing key.
This method must check whether the provided key is in the map using containsKey()
. Thus,
it probes the map twice. Implementors of subclasses should override it with a more efficient method.
remove
in interface Function<Integer,Long>
remove
in interface Map<Integer,Long>
remove
in class AbstractInt2LongFunction
null
if no value was present for the given key.Map.remove(Object)
public boolean containsValue(long v)
AbstractInt2LongMap
AbstractInt2LongMap.values()
.
containsValue
in interface Int2LongMap
containsValue
in class AbstractInt2LongMap
Map.containsValue(Object)
public void clear()
Function
clear
in interface Function<Integer,Long>
clear
in interface Map<Integer,Long>
clear
in class AbstractInt2LongFunction
Map.clear()
public boolean containsKey(int k)
AbstractInt2LongMap
AbstractInt2LongMap.keySet()
.
containsKey
in interface Int2LongFunction
containsKey
in class AbstractInt2LongMap
Function.containsKey(Object)
public int size()
Function
Most function implementations will have some knowledge of the intended number of keys in their domain. In some cases, however, this might not be possible.
size
in interface Function<Integer,Long>
size
in interface Map<Integer,Long>
public boolean isEmpty()
isEmpty
in interface Map<Integer,Long>
isEmpty
in class AbstractInt2LongMap
public long get(int k)
Int2LongFunction
get
in interface Int2LongFunction
k
- the key.
Function.get(Object)
public int firstIntKey()
firstIntKey
in interface Int2LongSortedMap
SortedMap.firstKey()
public int lastIntKey()
lastIntKey
in interface Int2LongSortedMap
SortedMap.lastKey()
public ObjectSortedSet<Int2LongMap.Entry> int2LongEntrySet()
Int2LongSortedMap
int2LongEntrySet
in interface Int2LongMap
int2LongEntrySet
in interface Int2LongSortedMap
Int2LongSortedMap.entrySet()
public IntSortedSet keySet()
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.
keySet
in interface Int2LongMap
keySet
in interface Int2LongSortedMap
keySet
in interface Map<Integer,Long>
keySet
in interface SortedMap<Integer,Long>
keySet
in class AbstractInt2LongSortedMap
Map.keySet()
public LongCollection values()
In addition to the semantics of Map.values()
, you can
safely cast the collection returned by this call to a type-specific collection
interface.
values
in interface Int2LongMap
values
in interface Int2LongSortedMap
values
in interface Map<Integer,Long>
values
in interface SortedMap<Integer,Long>
values
in class AbstractInt2LongSortedMap
Map.values()
public IntComparator comparator()
Int2LongSortedMap
Note that this specification strengthens the one given in SortedMap.comparator()
.
comparator
in interface Int2LongSortedMap
comparator
in interface SortedMap<Integer,Long>
SortedMap.comparator()
public Int2LongSortedMap headMap(int to)
Int2LongSortedMap
toKey
.
headMap
in interface Int2LongSortedMap
SortedMap.headMap(Object)
public Int2LongSortedMap tailMap(int from)
Int2LongSortedMap
fromKey
.
tailMap
in interface Int2LongSortedMap
SortedMap.tailMap(Object)
public Int2LongSortedMap subMap(int from, int to)
Int2LongSortedMap
fromKey
, inclusive, to toKey
, exclusive.
subMap
in interface Int2LongSortedMap
SortedMap.subMap(Object,Object)
public Int2LongRBTreeMap clone()
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.
clone
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |