@Beta public interface RangeMap<K extends Comparable,V>
In contrast to RangeSet, no "coalescing" is done of connected ranges, even if they are mapped to the same value.
| Modifier and Type | Method and Description |
|---|---|
Map<Range<K>,V> |
asMapOfRanges()
Returns a view of this range map as an unmodifiable
Map<Range<K>, V>. |
void |
clear()
Removes all associations from this range map (optional operation).
|
boolean |
equals(Object o)
|
V |
get(K key)
Returns the value associated with the specified key, or
null if there is no
such value. |
Map.Entry<Range<K>,V> |
getEntry(K key)
Returns the range containing this key and its associated value, if such a range is present
in the range map, or
null otherwise. |
int |
hashCode()
Returns
asMapOfRanges().hashCode(). |
void |
put(Range<K> range,
V value)
Maps a range to a specified value (optional operation).
|
void |
putAll(RangeMap<K,V> rangeMap)
Puts all the associations from
rangeMap into this range map (optional operation). |
void |
remove(Range<K> range)
Removes all associations from this range map in the specified range (optional operation).
|
Range<K> |
span()
Returns the minimal range enclosing the ranges
in this
RangeMap. |
RangeMap<K,V> |
subRangeMap(Range<K> range)
Returns a view of the part of this range map that intersects with
range. |
String |
toString()
Returns a readable string representation of this range map.
|
@Nullable V get(K key)
null if there is no
such value.
Specifically, if any range in this range map contains the specified key, the value associated with that range is returned.
@Nullable Map.Entry<Range<K>,V> getEntry(K key)
null otherwise.Range<K> span()
RangeMap.NoSuchElementException - if this range map is emptyvoid put(Range<K> range, V value)
Specifically, after a call to put(range, value), if
range.contains(k), then get(k)
will return value.
If range is empty, then this is a no-op.
void putAll(RangeMap<K,V> rangeMap)
rangeMap into this range map (optional operation).void clear()
void remove(Range<K> range)
If !range.contains(k), get(k) will return the same result
before and after a call to remove(range). If range.contains(k), then
after a call to remove(range), get(k) will return null.
Map<Range<K>,V> asMapOfRanges()
Map<Range<K>, V>.
Modifications to this range map are guaranteed to read through to the returned Map.
It is guaranteed that no empty ranges will be in the returned Map.
RangeMap<K,V> subRangeMap(Range<K> range)
range.
For example, if rangeMap had the entries
[1, 5] => "foo", (6, 8) => "bar", (10, ‥) => "baz"
then rangeMap.subRangeMap(Range.open(3, 12)) would return a range map
with the entries (3, 5) => "foo", (6, 8) => "bar", (10, 12) => "baz".
The returned range map supports all optional operations that this range map supports,
except for asMapOfRanges().iterator().remove().
The returned range map will throw an IllegalArgumentException on an attempt to
insert a range not enclosed by range.
boolean equals(@Nullable Object o)
equals in class Objecto - the reference object with which to compare.true if this object is the same as the obj
argument; false otherwise.Object.hashCode(),
HashMapint hashCode()
asMapOfRanges().hashCode().hashCode in class ObjectObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)Copyright © 2010-2014. All Rights Reserved.