@GwtCompatible(serializable=true, emulated=true) public final class ImmutableSortedMap<K,V> extends ImmutableMap<K,V> implements NavigableMap<K,V>
NavigableMap
whose contents will never change, with many other important properties
detailed at ImmutableCollection
.
Warning: as with any sorted collection, you are strongly advised not to use a Comparator
or Comparable
type whose comparison behavior is inconsistent with
equals. That is, a.compareTo(b)
or comparator.compare(a, b)
should equal zero
if and only if a.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.
NavigableMap
since 12.0)Modifier and Type | Class and Description |
---|---|
static class |
ImmutableSortedMap.Builder<K,V>
A builder for creating immutable sorted map instances, especially
public static final maps ("constant maps"). |
Modifier and Type | Method and Description |
---|---|
static <K,V> ImmutableSortedMap.Builder<K,V> |
builder()
Deprecated.
Use
naturalOrder() , which offers
better type-safety. |
Map.Entry<K,V> |
ceilingEntry(K key) |
K |
ceilingKey(K key) |
Comparator<? super K> |
comparator()
Returns the comparator that orders the keys, which is
Ordering.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 as
map , 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 as
map , 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() |
ImmutableSortedMap<K,V> |
descendingMap() |
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() |
K |
firstKey() |
Map.Entry<K,V> |
floorEntry(K key) |
K |
floorKey(K key) |
void |
forEach(BiConsumer<? super K,? super V> action) |
V |
get(Object key) |
ImmutableSortedMap<K,V> |
headMap(K toKey)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys are less than toKey . |
ImmutableSortedMap<K,V> |
headMap(K toKey,
boolean inclusive)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys are less than (or equal to, if inclusive ) toKey . |
Map.Entry<K,V> |
higherEntry(K key) |
K |
higherKey(K key) |
ImmutableSortedSet<K> |
keySet()
Returns an immutable sorted set of the keys in this map.
|
Map.Entry<K,V> |
lastEntry() |
K |
lastKey() |
Map.Entry<K,V> |
lowerEntry(K key) |
K |
lowerKey(K key) |
static <K extends Comparable<?>,V> |
naturalOrder()
Returns a builder that creates immutable sorted maps whose keys are
ordered by their natural ordering.
|
ImmutableSortedSet<K> |
navigableKeySet() |
static <K,V> ImmutableSortedMap<K,V> |
of()
Returns the empty sorted map.
|
static <K extends Comparable<? super K>,V> |
of(K k1,
V v1)
Returns an immutable map containing a single entry.
|
static <K extends Comparable<? super 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 extends Comparable<? super 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 extends Comparable<? super 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 extends Comparable<? super 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.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> |
reverseOrder()
Returns a builder that creates immutable sorted maps whose keys are
ordered by the reverse of their natural ordering.
|
int |
size() |
ImmutableSortedMap<K,V> |
subMap(K fromKey,
boolean fromInclusive,
K toKey,
boolean toInclusive)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys ranges from fromKey to toKey , inclusive or
exclusive as indicated by the boolean flags. |
ImmutableSortedMap<K,V> |
subMap(K fromKey,
K toKey)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys ranges from fromKey , inclusive, to toKey ,
exclusive. |
ImmutableSortedMap<K,V> |
tailMap(K fromKey)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys are greater than or equals to fromKey . |
ImmutableSortedMap<K,V> |
tailMap(K fromKey,
boolean inclusive)
This method returns a
ImmutableSortedMap , consisting of the entries
whose keys are greater than (or equal to, if inclusive )
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 a
Collector that accumulates elements into an ImmutableSortedMap
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 a
Collector that accumulates elements into an ImmutableSortedMap 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.
|
asMultimap, clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll
@Beta 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)
Collector
that accumulates elements into an ImmutableSortedMap
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 the Collector
returned by
Collectors.toMap(Function, Function)
, which throws an IllegalStateException
.)
@Beta 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)
Collector
that accumulates elements into an ImmutableSortedMap
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.
public static <K,V> ImmutableSortedMap<K,V> of()
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1)
public static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2)
IllegalArgumentException
- if the two keys are equal according to
their natural orderingpublic static <K extends Comparable<? super K>,V> ImmutableSortedMap<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3)
IllegalArgumentException
- if any two keys are equal according to
their natural orderingpublic 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)
IllegalArgumentException
- if any two keys are equal according to
their natural orderingpublic 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)
IllegalArgumentException
- if any two keys are equal according to
their natural orderingpublic static <K,V> ImmutableSortedMap<K,V> copyOf(Map<? extends K,? extends V> map)
map
, 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.
ClassCastException
- if the keys in map
are not mutually
comparableNullPointerException
- if any key or value in map
is nullIllegalArgumentException
- if any two keys are equal according to
their natural orderingpublic static <K,V> ImmutableSortedMap<K,V> copyOf(Map<? extends K,? extends V> map, Comparator<? super K> comparator)
map
, 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.
NullPointerException
- if any key or value in map
is nullIllegalArgumentException
- if any two keys are equal according to the
comparator@Beta public static <K,V> ImmutableSortedMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries)
This method is not type-safe, as it may be called on a map with keys that are not mutually comparable.
NullPointerException
- if any key or value in map
is nullIllegalArgumentException
- if any two keys are equal according to the
comparator@Beta public static <K,V> ImmutableSortedMap<K,V> copyOf(Iterable<? extends Map.Entry<? extends K,? extends V>> entries, Comparator<? super K> comparator)
NullPointerException
- if any key or value in map
is nullIllegalArgumentException
- if any two keys are equal according to the
comparatorpublic static <K,V> ImmutableSortedMap<K,V> copyOfSorted(SortedMap<K,? extends V> map)
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.
NullPointerException
- if any key or value in map
is nullpublic static <K extends Comparable<?>,V> ImmutableSortedMap.Builder<K,V> naturalOrder()
Ordering.natural()
as the comparator.public static <K,V> ImmutableSortedMap.Builder<K,V> orderedBy(Comparator<K> comparator)
SortedMap<Integer, String>
with a Comparator<Number>
, use the ImmutableSortedMap.Builder
constructor instead.NullPointerException
- if comparator
is nullpublic static <K extends Comparable<?>,V> ImmutableSortedMap.Builder<K,V> reverseOrder()
public void forEach(BiConsumer<? super K,? super V> action)
public ImmutableSet<Map.Entry<K,V>> entrySet()
public ImmutableSortedSet<K> keySet()
public ImmutableCollection<V> values()
public Comparator<? super K> comparator()
Ordering.natural()
when the natural ordering of the keys is used.
Note that its behavior is not consistent with TreeMap.comparator()
,
which returns null
to indicate natural ordering.comparator
in interface SortedMap<K,V>
public ImmutableSortedMap<K,V> headMap(K toKey)
ImmutableSortedMap
, consisting of the entries
whose keys are less than toKey
.
The SortedMap.headMap(K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a toKey
greater than an earlier toKey
. However, this method doesn't throw
an exception in that situation, but instead keeps the original toKey
.
public ImmutableSortedMap<K,V> headMap(K toKey, boolean inclusive)
ImmutableSortedMap
, consisting of the entries
whose keys are less than (or equal to, if inclusive
) toKey
.
The SortedMap.headMap(K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a toKey
greater than an earlier toKey
. However, this method doesn't throw
an exception in that situation, but instead keeps the original toKey
.
headMap
in interface NavigableMap<K,V>
public ImmutableSortedMap<K,V> subMap(K fromKey, K toKey)
ImmutableSortedMap
, consisting of the entries
whose keys ranges from fromKey
, inclusive, to toKey
,
exclusive.
The SortedMap.subMap(K, K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a fromKey
less than an earlier fromKey
. However, this method doesn't
throw an exception in that situation, but instead keeps the original fromKey
. Similarly, this method keeps the original toKey
, instead
of throwing an exception, if passed a toKey
greater than an earlier
toKey
.
public ImmutableSortedMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
ImmutableSortedMap
, consisting of the entries
whose keys ranges from fromKey
to toKey
, inclusive or
exclusive as indicated by the boolean flags.
The SortedMap.subMap(K, K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a fromKey
less than an earlier fromKey
. However, this method doesn't
throw an exception in that situation, but instead keeps the original fromKey
. Similarly, this method keeps the original toKey
, instead
of throwing an exception, if passed a toKey
greater than an earlier
toKey
.
subMap
in interface NavigableMap<K,V>
public ImmutableSortedMap<K,V> tailMap(K fromKey)
ImmutableSortedMap
, consisting of the entries
whose keys are greater than or equals to fromKey
.
The SortedMap.tailMap(K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a fromKey
less than an earlier fromKey
. However, this method doesn't
throw an exception in that situation, but instead keeps the original fromKey
.
public ImmutableSortedMap<K,V> tailMap(K fromKey, boolean inclusive)
ImmutableSortedMap
, consisting of the entries
whose keys are greater than (or equal to, if inclusive
)
fromKey
.
The SortedMap.tailMap(K)
documentation states that a submap of a
submap throws an IllegalArgumentException
if passed a fromKey
less than an earlier fromKey
. However, this method doesn't
throw an exception in that situation, but instead keeps the original fromKey
.
tailMap
in interface NavigableMap<K,V>
public Map.Entry<K,V> lowerEntry(K key)
lowerEntry
in interface NavigableMap<K,V>
public Map.Entry<K,V> floorEntry(K key)
floorEntry
in interface NavigableMap<K,V>
public Map.Entry<K,V> ceilingEntry(K key)
ceilingEntry
in interface NavigableMap<K,V>
public K ceilingKey(K key)
ceilingKey
in interface NavigableMap<K,V>
public Map.Entry<K,V> higherEntry(K key)
higherEntry
in interface NavigableMap<K,V>
public Map.Entry<K,V> firstEntry()
firstEntry
in interface NavigableMap<K,V>
@Deprecated public final Map.Entry<K,V> pollFirstEntry()
pollFirstEntry
in interface NavigableMap<K,V>
UnsupportedOperationException
- always@Deprecated public final Map.Entry<K,V> pollLastEntry()
pollLastEntry
in interface NavigableMap<K,V>
UnsupportedOperationException
- alwayspublic ImmutableSortedMap<K,V> descendingMap()
descendingMap
in interface NavigableMap<K,V>
public ImmutableSortedSet<K> navigableKeySet()
navigableKeySet
in interface NavigableMap<K,V>
public ImmutableSortedSet<K> descendingKeySet()
descendingKeySet
in interface NavigableMap<K,V>
@Deprecated public static <T,K,V> Collector<T,?,ImmutableMap<K,V>> toImmutableMap(Function<? super T,? extends K> keyFunction, Function<? super T,? extends V> valueFunction)
toImmutableSortedMap(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 hide
ImmutableMap.toImmutableMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
from consumers of ImmutableSortedMap
.UnsupportedOperationException
- always@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)
toImmutableSortedMap(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 hide ImmutableMap.toImmutableMap(java.util.function.Function<? super T, ? extends K>, java.util.function.Function<? super T, ? extends V>)
from
consumers of ImmutableSortedMap
.UnsupportedOperationException
- always@Deprecated public static <K,V> ImmutableSortedMap.Builder<K,V> builder()
naturalOrder()
, which offers
better type-safety.naturalOrder()
, which offers
better type-safety, instead. This method exists only to hide
ImmutableMap.builder()
from consumers of ImmutableSortedMap
.UnsupportedOperationException
- alwaysCopyright © 2010–2017. All rights reserved.