public class TreeMap
extends AbstractMap<K, V>
implements NavigableMap<K, V>, Cloneable, Serializable
java.lang.Object | ||
↳ | java.util.AbstractMap<K, V> | |
↳ | java.util.TreeMap<K, V> |
基于NavigableMap
实现的NavigableMap
树。 该地图根据其键的Comparator
或地图创建时提供的Comparator进行排序,具体取决于使用哪个构造函数。
此实现提供了保证的log(n)时间成本containsKey
, get
, put
和remove
操作。 算法是Cormen,Leiserson和Rivest的算法简介中的算法的改编。
请注意,如果此排序映射要正确实现Map
接口,则树映射保留的排序(如任何有序映射)以及是否提供显式比较器必须与equals
一致 。 (请参阅Comparable
或Comparator
以获得与等号一致的精确定义。)这是因为Map
接口是根据equals
操作定义的,但排序映射使用其compareTo
(或compare
)方法执行所有关键比较,因此两个从排序映射的角度来看,这种方法认为相同的键是相等的。 即使排序与equals
不一致,排序映射的行为也可以很好地定义; 它只是不服从Map
接口的总体合同。
请注意,此实现不同步。 如果多个线程同时访问地图,并且至少有一个线程在结构上修改地图,则它必须在外部同步。 (结构修改是添加或删除一个或多个映射的任何操作;仅更改与现有密钥关联的值不是结构修改。)通常通过在自然封装映射的某个对象上进行同步来完成此操作。 如果不存在这样的对象,则应该使用Collections.synchronizedSortedMap
方法“映射”地图。 这最好在创建时完成,以防止意外的不同步访问地图:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
由所有此类的“集合视图方法”返回的集合的iterator
方法返回的迭代器快速失败 :如果在创建迭代器后的任何时候结构性地修改映射,除了通过迭代器自己的remove
方法,迭代器将抛出一个ConcurrentModificationException
。 因此,面对并发修改,迭代器快速而干净地失败,而不是在将来某个未确定的时间冒着任意的,非确定性的行为风险。
请注意,迭代器的故障快速行为无法得到保证,因为一般来说,在存在非同步并发修改的情况下不可能做出任何硬性保证。 失败快速迭代器以尽力而为的方式抛出ConcurrentModificationException
。 因此,编写一个依赖于此异常的程序是正确的: 迭代器的快速失败行为应仅用于检测错误。
Map.Entry
的方法及其视图返回的所有Map.Entry
对表示在生成时映射的快照。 他们不支持Entry.setValue
方法。 (但请注意,可以使用put
更改关联地图中的映射。)
本课是 Java Collections Framework的成员。
Public constructors |
|
---|---|
TreeMap() 使用键的自然顺序构造一个新的空树映射。 |
|
TreeMap(Comparator<? super K> comparator) 根据给定的比较器构造一个新的空树映射。 |
|
TreeMap(Map<? extends K, ? extends V> m) 构造一个包含与给定映射相同映射的新树映射,并根据其键的 自然排序进行排序 。 |
|
TreeMap(SortedMap<K, ? extends V> m) 构造包含相同映射的新树形图,并使用与指定的有序映射相同的顺序。 |
Public methods |
|
---|---|
Entry<K, V> |
ceilingEntry(K key) 返回与大于或等于给定键的最小键相关的键 - 值映射,如果没有这样的键,则 |
K |
ceilingKey(K key) 返回大于或等于给定键的 |
void |
clear() 从此映射中移除所有映射。 |
Object |
clone() 返回此 |
Comparator<? super K> |
comparator() 返回用于为了在这个映射中的键,或比较 |
boolean |
containsKey(Object key) 如果此映射包含指定键的映射,则返回 |
boolean |
containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 |
NavigableSet<K> |
descendingKeySet() 返回此映射中包含的键的相反顺序 |
NavigableMap<K, V> |
descendingMap() 返回此映射中包含的映射的逆序视图。 |
Set<Entry<K, V>> |
entrySet() 返回此映射中包含的映射的 |
Entry<K, V> |
firstEntry() 返回与此地图中最小键值关联的键值映射,如果地图为空,则 |
K |
firstKey() 返回此地图中当前第一个(最低)的键。 |
Entry<K, V> |
floorEntry(K key) 返回与最大键小于或等于给定键相关联的键 - 值映射,或者如果不存在这样的键,则 |
K |
floorKey(K key) 返回小于或等于给定键的最大键,或者如果不存在这样的键,则 |
void |
forEach(BiConsumer<? super K, ? super V> action) 对此映射中的每个条目执行给定操作,直到处理完所有条目或操作抛出异常为止。 |
V |
get(Object key) 返回指定键映射到的值,或者如果此映射不包含键映射,则返回 |
SortedMap<K, V> |
headMap(K toKey) 返回此映射的关键字严格小于 相当于 |
NavigableMap<K, V> |
headMap(K toKey, boolean inclusive) 返回此映射部分的视图,其键值小于(或等于,如果 |
Entry<K, V> |
higherEntry(K key) 返回与最小键相关的键 - 值映射,严格大于给定键,或者如果没有这样的键,则 |
K |
higherKey(K key) 返回严格大于给定键的最小键,或者如果没有这样的键,则返回 |
Set<K> |
keySet() 返回此映射中包含的键的 |
Entry<K, V> |
lastEntry() 返回与此地图中最大键关联的键值映射,如果地图为空,则 |
K |
lastKey() 返回此地图中当前最后一个(最高)的键。 |
Entry<K, V> |
lowerEntry(K key) 返回与最大键相关的键 - 值映射严格小于给定键,或者如果不存在这样的键,则 |
K |
lowerKey(K key) 如果没有这样的密钥,则返回严格小于给定密钥的最大密钥,或 |
NavigableSet<K> |
navigableKeySet() 返回此映射中包含的键的 |
Entry<K, V> |
pollFirstEntry() 删除并返回与此地图中最少键值关联的键值映射,如果地图为空,则 |
Entry<K, V> |
pollLastEntry() 移除并返回与此地图中最大键关联的键值映射,或者 |
V |
put(K key, V value) 将指定的值与此映射中指定的键关联。 |
void |
putAll(Map<? extends K, ? extends V> map) 将指定地图中的所有映射复制到此地图。 |
V |
remove(Object key) 如果存在,则从此TreeMap中移除该键的映射。 |
boolean |
replace(K key, V oldValue, V newValue) 仅当当前映射到指定值时才替换指定键的条目。 |
V |
replace(K key, V value) 仅当指定键的条目映射到某个值时才替换该条目。 |
void |
replaceAll(BiFunction<? super K, ? super V, ? extends V> function) 用对该条目调用给定函数的结果替换每个条目的值,直到处理完所有条目或者该函数抛出异常。 |
int |
size() 返回此映射中键 - 值映射的数量。 |
SortedMap<K, V> |
subMap(K fromKey, K toKey) 返回此映射部分的视图,其键范围从 相当于 |
NavigableMap<K, V> |
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 返回此映射部分的视图,其键的范围从 |
NavigableMap<K, V> |
tailMap(K fromKey, boolean inclusive) 返回此映射的关键字大于(或等于,如果 |
SortedMap<K, V> |
tailMap(K fromKey) 返回此映射的关键字大于或等于 相当于 |
Collection<V> |
values() 返回此映射中包含的值的 |
Inherited methods |
|
---|---|
From class java.util.AbstractMap
|
|
From class java.lang.Object
|
|
From interface java.util.Map
|
|
From interface java.util.NavigableMap
|
|
From interface java.util.SortedMap
|
TreeMap ()
使用键的自然顺序构造一个新的空树映射。 所有插入地图的密钥必须实现Comparable
接口。 此外,所有这些密钥必须可以相互比较 : k1.compareTo(k2)
不得为ClassCastException
中的任何密钥k1
和k2
。 如果用户试图将一个关键字放入违反此约束的地图中(例如,用户尝试将一个字符串关键字放入一个其键是整数的地图中),则put(Object key, Object value)
调用将抛出ClassCastException
。
TreeMap (Comparator<? super K> comparator)
根据给定的比较器构造一个新的空树映射。 插入到地图中的所有键都必须由给定的比较器相互比较的 : comparator.compare(k1, k2)
不得抛出ClassCastException
任何键k1
和k2
在地图上。 如果用户试图将一个关键字放入违反此限制的地图中,则put(Object key, Object value)
调用将抛出ClassCastException
。
Parameters | |
---|---|
comparator |
Comparator : the comparator that will be used to order this map. If null , the natural ordering of the keys will be used. |
TreeMap (Map<? extends K, ? extends V> m)
构造一个包含与给定映射相同映射的新树映射,并根据其键的自然排序进行排序 。 插入到新映射中的所有密钥必须实现Comparable
接口。 此外,所有这些密钥必须相互可比 : k1.compareTo(k2)
不得为ClassCastException
中的任何密钥k1
和k2
。 此方法在n * log(n)时间内运行。
Parameters | |
---|---|
m |
Map : the map whose mappings are to be placed in this map |
Throws | |
---|---|
ClassCastException |
if the keys in m are not Comparable , or are not mutually comparable |
NullPointerException |
if the specified map is null |
TreeMap (SortedMap<K, ? extends V> m)
构造包含相同映射的新树形图,并使用与指定的有序映射相同的顺序。 此方法在线性时间内运行。
Parameters | |
---|---|
m |
SortedMap : the sorted map whose mappings are to be placed in this map, and whose comparator is to be used to sort this map |
Throws | |
---|---|
NullPointerException |
if the specified map is null |
Entry<K, V> ceilingEntry (K key)
返回与最小键大于或等于给定键相关联的键 - 值映射,如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the least key greater than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
K ceilingKey (K key)
返回大于或等于给定键的 null
键,或者如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the least key greater than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
Object clone ()
返回此TreeMap
实例的浅表副本。 (键和值本身不克隆。)
Returns | |
---|---|
Object |
a shallow copy of this map |
Comparator<? super K> comparator ()
返回用于为了在这个映射中的键,或比较 null
如果此映射使用 natural ordering它的键。
Returns | |
---|---|
Comparator<? super K> |
the comparator used to order the keys in this map, or null if this map uses the natural ordering of its keys |
boolean containsKey (Object key)
如果此映射包含指定键的映射,则返回 true
。
Parameters | |
---|---|
key |
Object : key whose presence in this map is to be tested |
Returns | |
---|---|
boolean |
true if this map contains a mapping for the specified key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
boolean containsValue (Object value)
如果此映射将一个或多个键映射到指定值,则返回true
。 更正式地说,返回true
当且仅当该映射包含至少一个映射到值v
例如(value==null ? v==null : value.equals(v))
。 对于大多数实现,此操作可能需要时间线性地图大小。
Parameters | |
---|---|
value |
Object : value whose presence in this map is to be tested |
Returns | |
---|---|
boolean |
true if a mapping to value exists; false otherwise |
NavigableSet<K> descendingKeySet ()
返回此映射中包含的键的逆序NavigableSet
视图。 集合的迭代器按降序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
,和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
NavigableSet<K> |
a reverse order navigable set view of the keys in this map |
NavigableMap<K, V> descendingMap ()
返回此映射中包含的映射的逆序视图。 降序地图由此地图支持,因此对地图的更改反映在降序地图中,反之亦然。 如果两个map中的任何一个在迭代时正在进行迭代(除了通过迭代器自己的remove
操作),那么迭代的结果是未定义的。
返回的地图的订购等同于Collections.reverseOrder
(comparator())
。 表达m.descendingMap().descendingMap()
返回一个视图的m
实质上等同于m
。
Returns | |
---|---|
NavigableMap<K, V> |
a reverse order view of this map |
Set<Entry<K, V>> entrySet ()
返回此映射中映射的映射的 Set
视图。
该集的迭代器按照升序键顺序返回条目。 这些集合的分割器是late-binding , 快速失败 ,并且另外报告SORTED
和ORDERED
,其中遇到顺序是按升序排序。
该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代时修改映射(除了通过迭代器自己的remove
操作或通过迭代器返回的映射条目上的setValue
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
Set<Entry<K, V>> |
a set view of the mappings contained in this map |
Entry<K, V> firstEntry ()
返回与此地图中最小键值关联的键值映射;如果地图为空,则 null
。
Returns | |
---|---|
Entry<K, V> |
an entry with the least key, or null if this map is empty |
K firstKey ()
返回此地图中当前第一个(最低)的键。
Returns | |
---|---|
K |
the first (lowest) key currently in this map |
Throws | |
---|---|
NoSuchElementException |
Entry<K, V> floorEntry (K key)
返回与最大键小于或等于给定键相关联的键值映射,或者如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key less than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
K floorKey (K key)
返回小于或等于给定键的最大键,或者如果不存在这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the greatest key less than or equal to key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
void forEach (BiConsumer<? super K, ? super V> action)
对此映射中的每个条目执行给定操作,直到处理完所有条目或操作抛出异常为止。 除非实现类另有规定,否则按照条目集迭代的顺序执行操作(如果指定了迭代顺序)。操作抛出的异常会中继给调用者。
Parameters | |
---|---|
action |
BiConsumer : The action to be performed for each entry |
V get (Object key)
返回指定键映射到的值 null
如果此映射不包含键映射,则返回 null
。
更正式地,如果此映射包含从密钥映射k
到值v
使得key
比较等于k
根据地图的排序,则此方法返回v
; 否则返回null
。 (最多可以有一个这样的映射。)
返回值null
并不一定表示该映射不包含该键的映射; 地图也可能明确将密钥映射到null
。 containsKey
操作可用于区分这两种情况。
Parameters | |
---|---|
key |
Object : the key whose associated value is to be returned |
Returns | |
---|---|
V |
the value to which the specified key is mapped, or null if this map contains no mapping for the key |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
SortedMap<K, V> headMap (K toKey)
返回此映射的关键字严格小于toKey
的部分的视图。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
试图在其范围之外插入密钥时,返回的地图将引发 IllegalArgumentException
。
相当于 headMap(toKey, false)
。
Parameters | |
---|---|
toKey |
K : high endpoint (exclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys are strictly less than toKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if toKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
NavigableMap<K, V> headMap (K toKey, boolean inclusive)
返回此映射的关键字小于(或等于,如果inclusive
为true) toKey
。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的地图将尝试在其范围之外插入密钥时尝试引发 IllegalArgumentException
。
Parameters | |
---|---|
toKey |
K : high endpoint of the keys in the returned map |
inclusive |
boolean : true if the high endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys are less than (or equal to, if inclusive is true) toKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if toKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
Entry<K, V> higherEntry (K key)
返回与最小键相关的键 - 值映射,严格大于给定键,或者如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the least key greater than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
K higherKey (K key)
返回严格大于给定键的最小键,或者如果没有这样的键,则返回 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the least key greater than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
Set<K> keySet ()
返回此映射中包含的键的 Set
视图。
集合的迭代器按照升序返回键。 该集合的分割器是late-binding , 快速失败 ,并且另外报告SORTED
和ORDERED
,其中遇到顺序是按升序排序。 该spliterator的比较(见getComparator()
)是null
如果树映射的比较(见comparator()
)是null
。 否则,分割器的比较器与树图的比较器相同,或者施加相同的总排序。
该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代的过程中修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
,和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
Set<K> |
a set view of the keys contained in this map |
Entry<K, V> lastEntry ()
返回与此地图中最大键关联的键值映射,如果地图为空,则 null
。
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key, or null if this map is empty |
K lastKey ()
返回此地图中当前最后一个(最高)的键。
Returns | |
---|---|
K |
the last (highest) key currently in this map |
Throws | |
---|---|
NoSuchElementException |
Entry<K, V> lowerEntry (K key)
返回与最大键相关的键 - 值映射严格小于给定键,或者如果没有这样的键,则 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
Entry<K, V> |
an entry with the greatest key less than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
K lowerKey (K key)
返回严格小于给定键的最大键,或者如果没有这样的键,则返回 null
。
Parameters | |
---|---|
key |
K : the key |
Returns | |
---|---|
K |
the greatest key less than key , or null if there is no such key |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
NavigableSet<K> navigableKeySet ()
返回此映射中包含的键的NavigableSet
视图。 集合的迭代器按照升序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代的过程中修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
,和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
NavigableSet<K> |
a navigable set view of the keys in this map |
Entry<K, V> pollFirstEntry ()
移除并返回与此地图中最小键值关联的键值映射,或者 null
映射为空的 null
。
Returns | |
---|---|
Entry<K, V> |
the removed first entry of this map, or null if this map is empty |
Entry<K, V> pollLastEntry ()
移除并返回与此地图中最大键关联的键值映射,或者 null
映射为空的 null
。
Returns | |
---|---|
Entry<K, V> |
the removed last entry of this map, or null if this map is empty |
V put (K key, V value)
将指定的值与此映射中指定的键关联。 如果地图先前包含密钥的映射,则旧值将被替换。
Parameters | |
---|---|
key |
K : key with which the specified value is to be associated |
value |
V : value to be associated with the specified key |
Returns | |
---|---|
V |
the previous value associated with key , or null if there was no mapping for key . (A null return can also indicate that the map previously associated null with key .) |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
void putAll (Map<? extends K, ? extends V> map)
将指定地图中的所有映射复制到此地图。 这些映射会替换此映射对当前指定映射中的任何键的所有映射。
Parameters | |
---|---|
map |
Map : mappings to be stored in this map |
Throws | |
---|---|
ClassCastException |
if the class of a key or value in the specified map prevents it from being stored in this map |
NullPointerException |
if the specified map is null or the specified map contains a null key and this map does not permit null keys |
V remove (Object key)
如果存在,则从此TreeMap中移除该键的映射。
Parameters | |
---|---|
key |
Object : key for which mapping should be removed |
Returns | |
---|---|
V |
the previous value associated with key , or null if there was no mapping for key . (A null return can also indicate that the map previously associated null with key .) |
Throws | |
---|---|
ClassCastException |
if the specified key cannot be compared with the keys currently in the map |
NullPointerException |
if the specified key is null and this map uses natural ordering, or its comparator does not permit null keys |
boolean replace (K key, V oldValue, V newValue)
仅当当前映射到指定值时才替换指定键的条目。
Parameters | |
---|---|
key |
K : key with which the specified value is associated |
oldValue |
V : value expected to be associated with the specified key |
newValue |
V : value to be associated with the specified key |
Returns | |
---|---|
boolean |
true if the value was replaced |
V replace (K key, V value)
仅当指定键的条目映射到某个值时才替换该条目。
Parameters | |
---|---|
key |
K : key with which the specified value is associated |
value |
V : value to be associated with the specified key |
Returns | |
---|---|
V |
the previous value associated with the specified key, or null if there was no mapping for the key. (A null return can also indicate that the map previously associated null with the key, if the implementation supports null values.) |
void replaceAll (BiFunction<? super K, ? super V, ? extends V> function)
用对该条目调用给定函数的结果替换每个条目的值,直到处理完所有条目或者该函数抛出异常。 函数抛出的异常会传递给调用者。
Parameters | |
---|---|
function |
BiFunction : the function to apply to each entry |
int size ()
返回此映射中键 - 值映射的数量。
Returns | |
---|---|
int |
the number of key-value mappings in this map |
SortedMap<K, V> subMap (K fromKey, K toKey)
返回此映射部分的视图,其键的范围从fromKey
(含)至toKey
(不包括)。 (如果fromKey
和toKey
相等,则返回的地图为空。)返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
试图在其范围外插入密钥时,返回的地图会抛出 IllegalArgumentException
。
相当于 subMap(fromKey, true, toKey, false)
。
Parameters | |
---|---|
fromKey |
K : low endpoint (inclusive) of the keys in the returned map |
toKey |
K : high endpoint (exclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys range from fromKey , inclusive, to toKey , exclusive |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if fromKey or toKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
NavigableMap<K, V> subMap (K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此映射部分的视图,其键的范围从fromKey
到toKey
。 如果fromKey
和toKey
相等,则返回的映射为空,除非fromInclusive
和toInclusive
均为真。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
返回的映射将尝试在其范围外插入一个键,或者构造其端点位于其范围之外的子映射的 IllegalArgumentException
。
Parameters | |
---|---|
fromKey |
K : low endpoint of the keys in the returned map |
fromInclusive |
boolean : true if the low endpoint is to be included in the returned view |
toKey |
K : high endpoint of the keys in the returned map |
toInclusive |
boolean : true if the high endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys range from fromKey to toKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if fromKey or toKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
NavigableMap<K, V> tailMap (K fromKey, boolean inclusive)
返回此映射关键字大于(或等于,如果inclusive
为true) fromKey
。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
尝试在其范围外插入密钥时,返回的地图将引发 IllegalArgumentException
。
Parameters | |
---|---|
fromKey |
K : low endpoint of the keys in the returned map |
inclusive |
boolean : true if the low endpoint is to be included in the returned view |
Returns | |
---|---|
NavigableMap<K, V> |
a view of the portion of this map whose keys are greater than (or equal to, if inclusive is true) fromKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if fromKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
SortedMap<K, V> tailMap (K fromKey)
返回此映射的关键字大于或等于fromKey
的部分的视图。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。
试图在其范围外插入密钥时,返回的地图将会抛出 IllegalArgumentException
。
相当于 tailMap(fromKey, true)
。
Parameters | |
---|---|
fromKey |
K : low endpoint (inclusive) of the keys in the returned map |
Returns | |
---|---|
SortedMap<K, V> |
a view of the portion of this map whose keys are greater than or equal to fromKey |
Throws | |
---|---|
ClassCastException |
|
NullPointerException |
if fromKey is null and this map uses natural ordering, or its comparator does not permit null keys |
IllegalArgumentException |
Collection<V> values ()
返回此映射中包含的值的 Collection
视图。
集合的迭代器按相应键的升序返回值。 该集合的分割器为late-binding , 快速失败 ,并且另外报告ORDERED
,其中按照相应键的升序排列。
该集合由地图支持,因此地图的更改会反映在集合中,反之亦然。 如果在迭代集合的过程中修改了映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该collection支持元素移除,即从映射中相应的映射,经由Iterator.remove
, Collection.remove
, removeAll
, retainAll
和clear
操作。 它不支持add
或addAll
操作。
Returns | |
---|---|
Collection<V> |
a collection view of the values contained in this map |