Class ImmutableSortedMap<K,V>
- java.lang.Object
-
- com.google.common.collect.ImmutableMap<K,V>
-
- com.google.common.collect.ImmutableSortedMap<K,V>
-
- All Implemented Interfaces:
Serializable
,Map<K,V>
,NavigableMap<K,V>
,SortedMap<K,V>
@GwtCompatible(serializable=true, emulated=true) public final class ImmutableSortedMap<K,V> extends ImmutableMap<K,V> implements NavigableMap<K,V>
ANavigableMap
whose contents will never change, with many other important properties detailed atImmutableCollection
.Warning: as with any sorted collection, you are strongly advised not to use a
Comparator
orComparable
type whose comparison behavior is inconsistent with equals. That is,a.compareTo(b)
orcomparator.compare(a, b)
should equal zero if and only ifa.equals(b)
. If this advice is not followed, the resulting map will not correctly obey its specification.See the Guava User Guide article on immutable collections.
- Since:
- 2.0 (implements
NavigableMap
since 12.0) - Author:
- Jared Levy, Louis Wasserman
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImmutableSortedMap.Builder<K,V>
A builder for creating immutable sorted map instances, especiallypublic static final
maps ("constant maps").
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <K,V>
ImmutableSortedMap.Builder<K,V>builder()
Deprecated.UsenaturalOrder()
, which offers better type-safety.static <K,V>
ImmutableSortedMap.Builder<K,V>builderWithExpectedSize(int expectedSize)
Deprecated.Not supported for ImmutableSortedMap.Map.Entry<K,V>
ceilingEntry(K key)
Returns a key-value mapping associated with the least key greater than or equal to the given key, ornull
if there is no such key.K
ceilingKey(K key)
Returns the least key greater than or equal to the given key, ornull
if there is no such key.Comparator<? super K>
comparator()
Returns the comparator that orders the keys, which isOrdering.natural()
when the natural ordering of the keys is used.static <K,V>
ImmutableSortedMap<K,V>copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable map containing the given entries, with keys sorted by the provided comparator.static <K,V>
ImmutableSortedMap<K,V>copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries, Comparator<? super K> comparator)
Returns an immutable map containing the given entries, with keys sorted by the provided comparator.static <K,V>
ImmutableSortedMap<K,V>copyOf(Map<? extends K,? extends V> map)
Returns an immutable map containing the same entries asmap
, sorted by the natural ordering of the keys.static <K,V>
ImmutableSortedMap<K,V>copyOf(Map<? extends K,? extends V> map, Comparator<? super K> comparator)
Returns an immutable map containing the same entries asmap
, with keys sorted by the provided comparator.static <K,V>
ImmutableSortedMap<K,V>copyOfSorted(SortedMap<K,? extends V> map)
Returns an immutable map containing the same entries as the provided sorted map, with the same ordering.ImmutableSortedSet<K>
descendingKeySet()
Returns a reverse orderNavigableSet
view of the keys contained in this map.ImmutableSortedMap<K,V>
descendingMap()
Returns a reverse order view of the mappings contained in this map.ImmutableSet<Map.Entry<K,V>>
entrySet()
Returns an immutable set of the mappings in this map, sorted by the key ordering.Map.Entry<K,V>
firstEntry()
Returns a key-value mapping associated with the least key in this map, ornull
if the map is empty.K
firstKey()
Returns the first (lowest) key currently in this map.Map.Entry<K,V>
floorEntry(K key)
Returns a key-value mapping associated with the greatest key less than or equal to the given key, ornull
if there is no such key.K
floorKey(K key)
Returns the greatest key less than or equal to the given key, ornull
if there is no such key.void
forEach(BiConsumer<? super K,? super V> action)
Performs the given action for each entry in this map until all entries have been processed or the action throws an exception.V
get(@Nullable Object key)
Returns the value to which the specified key is mapped, ornull
if this map contains no mapping for the key.ImmutableSortedMap<K,V>
headMap(K toKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are less thantoKey
.ImmutableSortedMap<K,V>
headMap(K toKey, boolean inclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are less than (or equal to, ifinclusive
)toKey
.Map.Entry<K,V>
higherEntry(K key)
Returns a key-value mapping associated with the least key strictly greater than the given key, ornull
if there is no such key.K
higherKey(K key)
Returns the least key strictly greater than the given key, ornull
if there is no such key.ImmutableSortedSet<K>
keySet()
Returns an immutable sorted set of the keys in this map.Map.Entry<K,V>
lastEntry()
Returns a key-value mapping associated with the greatest key in this map, ornull
if the map is empty.K
lastKey()
Returns the last (highest) key currently in this map.Map.Entry<K,V>
lowerEntry(K key)
Returns a key-value mapping associated with the greatest key strictly less than the given key, ornull
if there is no such key.K
lowerKey(K key)
Returns the greatest key strictly less than the given key, ornull
if there is no such key.static <K extends Comparable<?>,V>
ImmutableSortedMap.Builder<K,V>naturalOrder()
Returns a builder that creates immutable sorted maps whose keys are ordered by their natural ordering.ImmutableSortedSet<K>
navigableKeySet()
Returns aNavigableSet
view of the keys contained in this map.static <K,V>
ImmutableSortedMap<K,V>of()
Returns the empty sorted map.static <K extends Comparable<? super K>,V>
ImmutableSortedMap<K,V>of(K k1, V v1)
Returns an immutable map containing a single entry.static <K,V>
ImmutableSortedMap<K,V>of(K k1, V v1)
Deprecated.Pass a key of typeComparable
to useof(Comparable, Object)
.static <K extends Comparable<? super K>,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.static <K,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object)
.static <K extends Comparable<? super K>,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.static <K,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object)
.static <K extends Comparable<? super K>,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.static <K,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object)
.static <K extends Comparable<? super K>,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.static <K,V>
ImmutableSortedMap<K,V>of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object)
.static <K,V>
ImmutableSortedMap.Builder<K,V>orderedBy(Comparator<K> comparator)
Returns a builder that creates immutable sorted maps with an explicit comparator.Map.Entry<K,V>
pollFirstEntry()
Deprecated.Unsupported operation.Map.Entry<K,V>
pollLastEntry()
Deprecated.Unsupported operation.static <K extends Comparable<?>,V>
ImmutableSortedMap.Builder<K,V>reverseOrder()
Returns a builder that creates immutable sorted maps whose keys are ordered by the reverse of their natural ordering.int
size()
Returns the number of key-value mappings in this map.ImmutableSortedMap<K,V>
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys ranges fromfromKey
totoKey
, inclusive or exclusive as indicated by the boolean flags.ImmutableSortedMap<K,V>
subMap(K fromKey, K toKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys ranges fromfromKey
, inclusive, totoKey
, exclusive.ImmutableSortedMap<K,V>
tailMap(K fromKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are greater than or equals tofromKey
.ImmutableSortedMap<K,V>
tailMap(K fromKey, boolean inclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are greater than (or equal to, ifinclusive
)fromKey
.static <T,K,V>
Collector<T,?,ImmutableMap<K,V>>toImmutableMap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
static <T,K,V>
Collector<T,?,ImmutableMap<K,V>>toImmutableMap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction, BinaryOperator<V> mergeFunction)
static <T,K,V>
Collector<T,?,ImmutableSortedMap<K,V>>toImmutableSortedMap(Comparator<? super K> comparator, Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
Returns aCollector
that accumulates elements into anImmutableSortedMap
whose keys and values are the result of applying the provided mapping functions to the input elements.static <T,K,V>
Collector<T,?,ImmutableSortedMap<K,V>>toImmutableSortedMap(Comparator<? super K> comparator, Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction, BinaryOperator<V> mergeFunction)
Returns aCollector
that accumulates elements into anImmutableSortedMap
whose keys and values are the result of applying the provided mapping functions to the input elements.ImmutableCollection<V>
values()
Returns an immutable collection of the values in this map, sorted by the ordering of the corresponding keys.-
Methods inherited from class com.google.common.collect.ImmutableMap
asMultimap, clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
toImmutableSortedMap
public static <T,K,V> Collector<T,?,ImmutableSortedMap<K,V>> toImmutableSortedMap(Comparator<? super K> comparator, Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
Returns aCollector
that accumulates elements into anImmutableSortedMap
whose keys and values are the result of applying the provided mapping functions to the input elements. The generated map is sorted by the specified comparator.If the mapped keys contain duplicates (according to the specified comparator), an
IllegalArgumentException
is thrown when the collection operation is performed. (This differs from theCollector
returned byCollectors.toMap(Function, Function)
, which throws anIllegalStateException
.)- Since:
- 21.0
-
toImmutableSortedMap
public static <T,K,V> Collector<T,?,ImmutableSortedMap<K,V>> toImmutableSortedMap(Comparator<? super K> comparator, Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction, BinaryOperator<V> mergeFunction)
Returns aCollector
that accumulates elements into anImmutableSortedMap
whose keys and values are the result of applying the provided mapping functions to the input elements.If the mapped keys contain duplicates (according to the comparator), the the values are merged using the specified merging function. Entries will appear in the encounter order of the first occurrence of the key.
- Since:
- 21.0
-
of
public static <K,V> ImmutableSortedMap<K,V> of()
Returns the empty sorted map.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Returns:
- an empty
Map
-
of
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1)
Returns an immutable map containing a single entry.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the mapping's keyv1
- the mapping's value- Returns:
- a
Map
containing the specified mapping
-
of
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
IllegalArgumentException
- if the two keys are equal according to their natural ordering
-
of
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
IllegalArgumentException
- if any two keys are equal according to their natural ordering
-
of
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's valuek4
- the fourth mapping's keyv4
- the fourth mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
IllegalArgumentException
- if any two keys are equal according to their natural ordering
-
of
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
Returns an immutable sorted map containing the given entries, sorted by the natural ordering of their keys.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's valuek4
- the fourth mapping's keyv4
- the fourth mapping's valuek5
- the fifth mapping's keyv5
- the fifth mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
IllegalArgumentException
- if any two keys are equal according to their natural ordering
-
copyOf
public static <K,V> ImmutableSortedMap<K,V> copyOf(Map<? extends K,? extends V> map)
Returns an immutable map containing the same entries asmap
, sorted by the natural ordering of the keys.Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
This method is not type-safe, as it may be called on a map with keys that are not mutually comparable.
- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
map
- aMap
from which entries are drawn, must be non-null- Returns:
- a
Map
containing the entries of the givenMap
- Throws:
ClassCastException
- if the keys inmap
are not mutually comparableNullPointerException
- if any key or value inmap
is nullIllegalArgumentException
- if any two keys are equal according to their natural ordering
-
copyOf
public static <K,V> ImmutableSortedMap<K,V> copyOf(Map<? extends K,? extends V> map, Comparator<? super K> comparator)
Returns an immutable map containing the same entries asmap
, with keys sorted by the provided comparator.Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
- Throws:
NullPointerException
- if any key or value inmap
is nullIllegalArgumentException
- if any two keys are equal according to the comparator
-
copyOf
@Beta public static <K,V> ImmutableSortedMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
Returns an immutable map containing the given entries, with keys sorted by the provided comparator.This method is not type-safe, as it may be called on a map with keys that are not mutually comparable.
- Throws:
NullPointerException
- if any key or value inmap
is nullIllegalArgumentException
- if any two keys are equal according to the comparator- Since:
- 19.0
-
copyOf
@Beta public static <K,V> ImmutableSortedMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries, Comparator<? super K> comparator)
Returns an immutable map containing the given entries, with keys sorted by the provided comparator.- Throws:
NullPointerException
- if any key or value inmap
is nullIllegalArgumentException
- if any two keys are equal according to the comparator- Since:
- 19.0
-
copyOfSorted
public static <K,V> ImmutableSortedMap<K,V> copyOfSorted(SortedMap<K,? extends V> map)
Returns an immutable map containing the same entries as the provided sorted map, with the same ordering.Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.
- Throws:
NullPointerException
- if any key or value inmap
is null
-
naturalOrder
public static <K extends Comparable<?>,V> ImmutableSortedMap.Builder<K,V> naturalOrder()
Returns a builder that creates immutable sorted maps whose keys are ordered by their natural ordering. The sorted maps useOrdering.natural()
as the comparator.
-
orderedBy
public static <K,V> ImmutableSortedMap.Builder<K,V> orderedBy(Comparator<K> comparator)
Returns a builder that creates immutable sorted maps with an explicit comparator. If the comparator has a more general type than the map's keys, such as creating aSortedMap<Integer, String>
with aComparator<Number>
, use theImmutableSortedMap.Builder
constructor instead.- Throws:
NullPointerException
- ifcomparator
is null
-
reverseOrder
public static <K extends Comparable<?>,V> ImmutableSortedMap.Builder<K,V> reverseOrder()
Returns a builder that creates immutable sorted maps whose keys are ordered by the reverse of their natural ordering.
-
size
public int size()
Description copied from interface:java.util.Map
Returns the number of key-value mappings in this map. If the map contains more thanInteger.MAX_VALUE
elements, returnsInteger.MAX_VALUE
.
-
forEach
public void forEach(BiConsumer<? super K,? super V> action)
Description copied from interface:java.util.Map
Performs the given action for each entry in this map until all entries have been processed or the action throws an exception. Unless otherwise specified by the implementing class, actions are performed in the order of entry set iteration (if an iteration order is specified.) Exceptions thrown by the action are relayed to the caller.
-
get
public V get(@Nullable Object key)
Description copied from interface:java.util.Map
Returns the value to which the specified key is mapped, ornull
if this map contains no mapping for the key.More formally, if this map contains a mapping from a key
k
to a valuev
such thatObjects.equals(key, k)
, then this method returnsv
; otherwise it returnsnull
. (There can be at most one such mapping.)If this map permits null values, then a return value of
null
does not necessarily indicate that the map contains no mapping for the key; it's also possible that the map explicitly maps the key tonull
. ThecontainsKey
operation may be used to distinguish these two cases.
-
entrySet
public ImmutableSet<Map.Entry<K,V>> entrySet()
Returns an immutable set of the mappings in this map, sorted by the key ordering.
-
keySet
public ImmutableSortedSet<K> keySet()
Returns an immutable sorted set of the keys in this map.
-
values
public ImmutableCollection<V> values()
Returns an immutable collection of the values in this map, sorted by the ordering of the corresponding keys.
-
comparator
public Comparator<? super K> comparator()
Returns the comparator that orders the keys, which isOrdering.natural()
when the natural ordering of the keys is used. Note that its behavior is not consistent withTreeMap.comparator()
, which returnsnull
to indicate natural ordering.- Specified by:
comparator
in interfaceSortedMap<K,V>
- Returns:
- the comparator used to order the keys in this map,
or
null
if this map uses the natural ordering of its keys
-
firstKey
public K firstKey()
Description copied from interface:java.util.SortedMap
Returns the first (lowest) key currently in this map.
-
lastKey
public K lastKey()
Description copied from interface:java.util.SortedMap
Returns the last (highest) key currently in this map.
-
headMap
public ImmutableSortedMap<K,V> headMap(K toKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are less thantoKey
.The
SortedMap.headMap(K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed atoKey
greater than an earliertoKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originaltoKey
.
-
headMap
public ImmutableSortedMap<K,V> headMap(K toKey, boolean inclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are less than (or equal to, ifinclusive
)toKey
.The
SortedMap.headMap(K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed atoKey
greater than an earliertoKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originaltoKey
.- Specified by:
headMap
in interfaceNavigableMap<K,V>
- Parameters:
toKey
- high endpoint of the keys in the returned mapinclusive
-true
if the high endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys are less than
(or equal to, if
inclusive
is true)toKey
- Since:
- 12.0
-
subMap
public ImmutableSortedMap<K,V> subMap(K fromKey, K toKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys ranges fromfromKey
, inclusive, totoKey
, exclusive.The
SortedMap.subMap(K, K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed afromKey
less than an earlierfromKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromKey
. Similarly, this method keeps the originaltoKey
, instead of throwing an exception, if passed atoKey
greater than an earliertoKey
.- Specified by:
subMap
in interfaceNavigableMap<K,V>
- Specified by:
subMap
in interfaceSortedMap<K,V>
- Parameters:
fromKey
- low endpoint (inclusive) of the keys in the returned maptoKey
- high endpoint (exclusive) of the keys in the returned map- Returns:
- a view of the portion of this map whose keys range from
fromKey
, inclusive, totoKey
, exclusive
-
subMap
public ImmutableSortedMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys ranges fromfromKey
totoKey
, inclusive or exclusive as indicated by the boolean flags.The
SortedMap.subMap(K, K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed afromKey
less than an earlierfromKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromKey
. Similarly, this method keeps the originaltoKey
, instead of throwing an exception, if passed atoKey
greater than an earliertoKey
.- Specified by:
subMap
in interfaceNavigableMap<K,V>
- Parameters:
fromKey
- low endpoint of the keys in the returned mapfromInclusive
-true
if the low endpoint is to be included in the returned viewtoKey
- high endpoint of the keys in the returned maptoInclusive
-true
if the high endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys range from
fromKey
totoKey
- Since:
- 12.0
-
tailMap
public ImmutableSortedMap<K,V> tailMap(K fromKey)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are greater than or equals tofromKey
.The
SortedMap.tailMap(K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed afromKey
less than an earlierfromKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromKey
.
-
tailMap
public ImmutableSortedMap<K,V> tailMap(K fromKey, boolean inclusive)
This method returns aImmutableSortedMap
, consisting of the entries whose keys are greater than (or equal to, ifinclusive
)fromKey
.The
SortedMap.tailMap(K)
documentation states that a submap of a submap throws anIllegalArgumentException
if passed afromKey
less than an earlierfromKey
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromKey
.- Specified by:
tailMap
in interfaceNavigableMap<K,V>
- Parameters:
fromKey
- low endpoint of the keys in the returned mapinclusive
-true
if the low endpoint is to be included in the returned view- Returns:
- a view of the portion of this map whose keys are greater than
(or equal to, if
inclusive
is true)fromKey
- Since:
- 12.0
-
lowerEntry
public Map.Entry<K,V> lowerEntry(K key)
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the greatest key strictly less than the given key, ornull
if there is no such key.- Specified by:
lowerEntry
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- an entry with the greatest key less than
key
, ornull
if there is no such key
-
lowerKey
public K lowerKey(K key)
Description copied from interface:java.util.NavigableMap
Returns the greatest key strictly less than the given key, ornull
if there is no such key.- Specified by:
lowerKey
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- the greatest key less than
key
, ornull
if there is no such key
-
floorEntry
public Map.Entry<K,V> floorEntry(K key)
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the greatest key less than or equal to the given key, ornull
if there is no such key.- Specified by:
floorEntry
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- an entry with the greatest key less than or equal to
key
, ornull
if there is no such key
-
floorKey
public K floorKey(K key)
Description copied from interface:java.util.NavigableMap
Returns the greatest key less than or equal to the given key, ornull
if there is no such key.- Specified by:
floorKey
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- the greatest key less than or equal to
key
, ornull
if there is no such key
-
ceilingEntry
public Map.Entry<K,V> ceilingEntry(K key)
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the least key greater than or equal to the given key, ornull
if there is no such key.- Specified by:
ceilingEntry
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- an entry with the least key greater than or equal to
key
, ornull
if there is no such key
-
ceilingKey
public K ceilingKey(K key)
Description copied from interface:java.util.NavigableMap
Returns the least key greater than or equal to the given key, ornull
if there is no such key.- Specified by:
ceilingKey
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- the least key greater than or equal to
key
, ornull
if there is no such key
-
higherEntry
public Map.Entry<K,V> higherEntry(K key)
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the least key strictly greater than the given key, ornull
if there is no such key.- Specified by:
higherEntry
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- an entry with the least key greater than
key
, ornull
if there is no such key
-
higherKey
public K higherKey(K key)
Description copied from interface:java.util.NavigableMap
Returns the least key strictly greater than the given key, ornull
if there is no such key.- Specified by:
higherKey
in interfaceNavigableMap<K,V>
- Parameters:
key
- the key- Returns:
- the least key greater than
key
, ornull
if there is no such key
-
firstEntry
public Map.Entry<K,V> firstEntry()
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the least key in this map, ornull
if the map is empty.- Specified by:
firstEntry
in interfaceNavigableMap<K,V>
- Returns:
- an entry with the least key,
or
null
if this map is empty
-
lastEntry
public Map.Entry<K,V> lastEntry()
Description copied from interface:java.util.NavigableMap
Returns a key-value mapping associated with the greatest key in this map, ornull
if the map is empty.- Specified by:
lastEntry
in interfaceNavigableMap<K,V>
- Returns:
- an entry with the greatest key,
or
null
if this map is empty
-
pollFirstEntry
@CanIgnoreReturnValue @Deprecated public final Map.Entry<K,V> pollFirstEntry()
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the map unmodified.- Specified by:
pollFirstEntry
in interfaceNavigableMap<K,V>
- Returns:
- the removed first entry of this map,
or
null
if this map is empty - Throws:
UnsupportedOperationException
- always
-
pollLastEntry
@CanIgnoreReturnValue @Deprecated public final Map.Entry<K,V> pollLastEntry()
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the map unmodified.- Specified by:
pollLastEntry
in interfaceNavigableMap<K,V>
- Returns:
- the removed last entry of this map,
or
null
if this map is empty - Throws:
UnsupportedOperationException
- always
-
descendingMap
public ImmutableSortedMap<K,V> descendingMap()
Description copied from interface:java.util.NavigableMap
Returns a reverse order view of the mappings contained in this map. The descending map is backed by this map, so changes to the map are reflected in the descending map, and vice-versa. If either map is modified while an iteration over a collection view of either map is in progress (except through the iterator's ownremove
operation), the results of the iteration are undefined.The returned map has an ordering equivalent to
Collections.reverseOrder
(comparator())
. The expressionm.descendingMap().descendingMap()
returns a view ofm
essentially equivalent tom
.- Specified by:
descendingMap
in interfaceNavigableMap<K,V>
- Returns:
- a reverse order view of this map
-
navigableKeySet
public ImmutableSortedSet<K> navigableKeySet()
Description copied from interface:java.util.NavigableMap
Returns aNavigableSet
view of the keys contained in this map. The set's iterator returns the keys in ascending order. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's ownremove
operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via theIterator.remove
,Set.remove
,removeAll
,retainAll
, andclear
operations. It does not support theadd
oraddAll
operations.- Specified by:
navigableKeySet
in interfaceNavigableMap<K,V>
- Returns:
- a navigable set view of the keys in this map
-
descendingKeySet
public ImmutableSortedSet<K> descendingKeySet()
Description copied from interface:java.util.NavigableMap
Returns a reverse orderNavigableSet
view of the keys contained in this map. The set's iterator returns the keys in descending order. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's ownremove
operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via theIterator.remove
,Set.remove
,removeAll
,retainAll
, andclear
operations. It does not support theadd
oraddAll
operations.- Specified by:
descendingKeySet
in interfaceNavigableMap<K,V>
- Returns:
- a reverse order navigable set view of the keys in this map
-
toImmutableMap
@Deprecated public static <T,K,V> Collector<T,?,ImmutableMap<K,V>> toImmutableMap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
Not supported. UsetoImmutableSortedMap(java.util.Comparator<? super K>, java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
, which offers better type-safety, instead. This method exists only to hideImmutableMap.toImmutableMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
from consumers ofImmutableSortedMap
.- Throws:
UnsupportedOperationException
- always
-
toImmutableMap
@Deprecated public static <T,K,V> Collector<T,?,ImmutableMap<K,V>> toImmutableMap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction, BinaryOperator<V> mergeFunction)
Not supported. UsetoImmutableSortedMap(java.util.Comparator<? super K>, java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
, which offers better type-safety, instead. This method exists only to hideImmutableMap.toImmutableMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
from consumers ofImmutableSortedMap
.- Throws:
UnsupportedOperationException
- always
-
builder
@Deprecated public static <K,V> ImmutableSortedMap.Builder<K,V> builder()
Deprecated.UsenaturalOrder()
, which offers better type-safety.Not supported. UsenaturalOrder()
, which offers better type-safety, instead. This method exists only to hideImmutableMap.builder()
from consumers ofImmutableSortedMap
.- Throws:
UnsupportedOperationException
- always
-
builderWithExpectedSize
@Deprecated public static <K,V> ImmutableSortedMap.Builder<K,V> builderWithExpectedSize(int expectedSize)
Deprecated.Not supported for ImmutableSortedMap.Not supported for ImmutableSortedMap.- Throws:
UnsupportedOperationException
- always
-
of
@Deprecated public static <K,V> ImmutableSortedMap<K,V> of(K k1, V v1)
Deprecated.Pass a key of typeComparable
to useof(Comparable, Object)
.Not supported. You are attempting to create a map that may contain a non-Comparable
key. Proper calls will resolve to the version inImmutableSortedMap
, not this dummy version.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the mapping's keyv1
- the mapping's value- Returns:
- a
Map
containing the specified mapping - Throws:
UnsupportedOperationException
- always
-
of
@Deprecated public static <K,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object)
.Not supported. You are attempting to create a map that may contain non-Comparable
keys. Proper calls will resolve to the version inImmutableSortedMap
, not this dummy version.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
UnsupportedOperationException
- always
-
of
@Deprecated public static <K,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object)
.Not supported. You are attempting to create a map that may contain non-Comparable
keys. Proper calls to will resolve to the version inImmutableSortedMap
, not this dummy version.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
UnsupportedOperationException
- always
-
of
@Deprecated public static <K,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object)
.Not supported. You are attempting to create a map that may contain non-Comparable
keys. Proper calls will resolve to the version inImmutableSortedMap
, not this dummy version.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's valuek4
- the fourth mapping's keyv4
- the fourth mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
UnsupportedOperationException
- always
-
of
@Deprecated public static <K,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
Deprecated.Pass keys of typeComparable
to useof(Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object, Comparable, Object)
.Not supported. You are attempting to create a map that may contain non-Comparable
keys. Proper calls will resolve to the version inImmutableSortedMap
, not this dummy version.- Type Parameters:
K
- theMap
's key typeV
- theMap
's value type- Parameters:
k1
- the first mapping's keyv1
- the first mapping's valuek2
- the second mapping's keyv2
- the second mapping's valuek3
- the third mapping's keyv3
- the third mapping's valuek4
- the fourth mapping's keyv4
- the fourth mapping's valuek5
- the fifth mapping's keyv5
- the fifth mapping's value- Returns:
- a
Map
containing the specified mappings - Throws:
UnsupportedOperationException
- always
-
-