|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.collect.ImmutableMap<K,V> com.google.common.collect.ImmutableSortedMap<K,V>
public class ImmutableSortedMap<K,V>
An immutable SortedMap
. Does not permit null keys or values.
Unlike Collections.unmodifiableSortedMap(java.util.SortedMap
, which is a view
of a separate map which can still change, an instance of ImmutableSortedMap
contains its own data and will never change.
ImmutableSortedMap
is convenient for public static final
maps
("constant maps") and also lets you easily make a "defensive copy" of a map
provided to your class by a caller.
Note: Although this class is not final, it cannot be subclassed as it has no public or protected constructors. Thus, instances of this class are guaranteed to be immutable.
Nested Class Summary | |
---|---|
static class |
ImmutableSortedMap.Builder<K,V>
A builder for creating immutable sorted map instances, especially public static final maps ("constant maps"). |
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Method Summary | ||
---|---|---|
static
|
builder()
Deprecated. Use naturalOrder() , which offers
better type-safety. |
|
Comparator<? super K> |
comparator()
Returns the comparator that orders the keys, which is Ordering.natural() when the natural ordering of the keys is used. |
|
boolean |
containsValue(Object value)
Returns true if this map maps one or more keys to the specified value. |
|
static
|
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
|
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
|
copyOfSorted(SortedMap<K,? extends V> map)
Returns an immutable map containing the same entries as the provided sorted map, with the same ordering. |
|
ImmutableSet<Map.Entry<K,V>> |
entrySet()
Returns an immutable set of the mappings in this map, sorted by the key ordering. |
|
K |
firstKey()
Returns the first (lowest) key currently in this map. |
|
V |
get(Object key)
Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key. |
|
ImmutableSortedMap<K,V> |
headMap(K toKey)
This method returns a ImmutableSortedMap , consisting of the entries
whose keys are less than toKey . |
|
ImmutableSortedSet<K> |
keySet()
Returns an immutable sorted set of the keys in this map. |
|
K |
lastKey()
Returns the last (highest) key currently in this map. |
|
static
|
naturalOrder()
Returns a builder that creates immutable sorted maps whose keys are ordered by their natural ordering. |
|
static
|
of()
Returns the empty sorted map. |
|
static
|
of(K k1,
V v1)
Returns an immutable map containing a single entry. |
|
static
|
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
|
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
|
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
|
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
|
orderedBy(Comparator<K> comparator)
Returns a builder that creates immutable sorted maps with an explicit comparator. |
|
static
|
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,
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 . |
|
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 |
---|
clear, containsKey, equals, hashCode, isEmpty, put, putAll, remove, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Map |
---|
clear, containsKey, equals, hashCode, isEmpty, put, putAll, remove |
Method Detail |
---|
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.
Note: Despite what the method name suggests, if map
is an
ImmutableSortedMap
, it may be returned instead of a copy.
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
comparable
NullPointerException
- if any key or value in map
is null
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, Comparator<? super K> comparator)
map
, with
keys sorted by the provided comparator.
Note: Despite what the method name suggests, if map
is an
ImmutableSortedMap
, it may be returned instead of a copy.
NullPointerException
- if any key or value in map
is null
IllegalArgumentException
- if any two keys are equal according to
the comparatorpublic static <K,V> ImmutableSortedMap<K,V> copyOfSorted(SortedMap<K,? extends V> map)
Note: Despite what the method name suggests, if map
is an
ImmutableSortedMap
, it may be returned instead of a copy.
NullPointerException
- if any key or value in map
is nullpublic static <K extends Comparable<K>,V> ImmutableSortedMap.Builder<K,V> naturalOrder()
Ordering.natural()
as the comparator.
Note: the type parameter K
extends Comparable<K>
rather
than Comparable<? super K>
as a workaround for javac bug
6468354.
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<K>,V> ImmutableSortedMap.Builder<K,V> reverseOrder()
Note: the type parameter K
extends Comparable<K>
rather
than Comparable<? super K>
as a workaround for javac bug
6468354.
public int size()
java.util.Map
size
in interface Map<K,V>
public V get(@Nullable Object key)
java.util.Map
null
if this map contains no mapping for the key.
More formally, if this map contains a mapping from a key
k
to a value v
such that (key==null ? k==null :
key.equals(k))
, then this method returns v
; otherwise
it returns null
. (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 to null
. The containsKey
operation may be used to distinguish these two cases.
get
in interface Map<K,V>
get
in class ImmutableMap<K,V>
key
- the key whose associated value is to be returned
null
if this map contains no mapping for the keypublic boolean containsValue(@Nullable Object value)
java.util.Map
containsValue
in interface Map<K,V>
containsValue
in class ImmutableMap<K,V>
value
- value whose presence in this map is to be tested
public ImmutableSet<Map.Entry<K,V>> entrySet()
entrySet
in interface Map<K,V>
entrySet
in interface SortedMap<K,V>
entrySet
in class ImmutableMap<K,V>
public ImmutableSortedSet<K> keySet()
keySet
in interface Map<K,V>
keySet
in interface SortedMap<K,V>
keySet
in class ImmutableMap<K,V>
public ImmutableCollection<V> values()
values
in interface Map<K,V>
values
in interface SortedMap<K,V>
values
in class ImmutableMap<K,V>
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 K firstKey()
java.util.SortedMap
firstKey
in interface SortedMap<K,V>
public K lastKey()
java.util.SortedMap
lastKey
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
.
headMap
in interface SortedMap<K,V>
toKey
- high endpoint (exclusive) of the keys in the returned map
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
.
subMap
in interface SortedMap<K,V>
fromKey
- low endpoint (inclusive) of the keys in the returned maptoKey
- high endpoint (exclusive) of the keys in the returned map
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
.
tailMap
in interface SortedMap<K,V>
fromKey
- low endpoint (inclusive) of the keys in the returned map
@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
- always
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |