@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 |
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
|
V |
get(K key)
Returns the value associated with the specified key, or
null if there is no such value.
|
Map |
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
Maps a range to a specified value (optional operation).
|
void |
putAll(RangeMap
Puts all the associations from
rangeMap into this range map (optional operation).
|
void |
remove(Range
Removes all associations from this range map in the specified range (optional operation).
|
Range |
span()
Returns the minimal range
enclosing the ranges in this
RangeMap.
|
RangeMap |
subRangeMap(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.
|
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.
Map.Entry <Range <K> ,V> getEntry(K key)
null otherwise.
Range<K> span()
RangeMap.
NoSuchElementException - if this range map is empty
void 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(Objecto)
int hashCode()
asMapOfRanges().hashCode().
StringtoString()