Most visited

Recently visited

Added in API level 1

TreeMap

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)时间成本containsKeygetputremove操作。 算法是Cormen,Leiserson和Rivest的算法简介中的算法的改编。

请注意,如果此排序映射要正确实现Map接口,则树映射保留的排序(如任何有序映射)以及是否提供显式比较器必须equals一致 (请参阅ComparableComparator以获得与等号一致的精确定义。)这是因为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的成员。

也可以看看:

Summary

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)

返回与大于或等于给定键的最小键相关的键 - 值映射,如果没有这样的键,则 null

K ceilingKey(K key)

返回大于或等于给定键的 null键,或者如果不存在这样的键,则 null

void clear()

从此映射中移除所有映射。

Object clone()

返回此 TreeMap实例的浅表副本。

Comparator<? super K> comparator()

返回用于为了在这个映射中的键,或比较 null如果此映射使用 natural ordering它的键。

boolean containsKey(Object key)

如果此映射包含指定键的映射,则返回 true

boolean containsValue(Object value)

如果此映射将一个或多个键映射到指定值,则返回 true

NavigableSet<K> descendingKeySet()

返回此映射中包含的键的相反顺序 NavigableSet视图。

NavigableMap<K, V> descendingMap()

返回此映射中包含的映射的逆序视图。

Set<Entry<K, V>> entrySet()

返回此映射中包含的映射的 Set视图。

Entry<K, V> firstEntry()

返回与此地图中最小键值关联的键值映射,如果地图为空,则 null

K firstKey()

返回此地图中当前第一个(最低)的键。

Entry<K, V> floorEntry(K key)

返回与最大键小于或等于给定键相关联的键 - 值映射,或者如果不存在这样的键,则 null

K floorKey(K key)

返回小于或等于给定键的最大键,或者如果不存在这样的键,则 null

void forEach(BiConsumer<? super K, ? super V> action)

对此映射中的每个条目执行给定操作,直到处理完所有条目或操作抛出异常为止。

V get(Object key)

返回指定键映射到的值,或者如果此映射不包含键映射,则返回 null

SortedMap<K, V> headMap(K toKey)

返回此映射的关键字严格小于 toKey的部分的视图。

相当于 headMap(toKey, false)

NavigableMap<K, V> headMap(K toKey, boolean inclusive)

返回此映射部分的视图,其键值小于(或等于,如果 inclusive为true) toKey

Entry<K, V> higherEntry(K key)

返回与最小键相关的键 - 值映射,严格大于给定键,或者如果没有这样的键,则 null

K higherKey(K key)

返回严格大于给定键的最小键,或者如果没有这样的键,则返回 null

Set<K> keySet()

返回此映射中包含的键的 Set视图。

Entry<K, V> lastEntry()

返回与此地图中最大键关联的键值映射,如果地图为空,则 null

K lastKey()

返回此地图中当前最后一个(最高)的键。

Entry<K, V> lowerEntry(K key)

返回与最大键相关的键 - 值映射严格小于给定键,或者如果不存在这样的键,则 null

K lowerKey(K key)

如果没有这样的密钥,则返回严格小于给定密钥的最大密钥,或 null

NavigableSet<K> navigableKeySet()

返回此映射中包含的键的 NavigableSet视图。

Entry<K, V> pollFirstEntry()

删除并返回与此地图中最少键值关联的键值映射,如果地图为空,则 null

Entry<K, V> pollLastEntry()

移除并返回与此地图中最大键关联的键值映射,或者 null映射为空的 null

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)

返回此映射部分的视图,其键范围从 fromKey (含)至 toKey (不包括)。

相当于 subMap(fromKey, true, toKey, false)

NavigableMap<K, V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)

返回此映射部分的视图,其键的范围从 fromKeytoKey

NavigableMap<K, V> tailMap(K fromKey, boolean inclusive)

返回此映射的关键字大于(或等于,如果 inclusive为true)的部分的 fromKey

SortedMap<K, V> tailMap(K fromKey)

返回此映射的关键字大于或等于 fromKey的部分的视图。

相当于 tailMap(fromKey, true)

Collection<V> values()

返回此映射中包含的值的 Collection视图。

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

Public constructors

TreeMap

Added in API level 1
TreeMap ()

使用键的自然顺序构造一个新的空树映射。 所有插入地图的密钥必须实现Comparable接口。 此外,所有这些密钥必须可以相互比较k1.compareTo(k2)不得为ClassCastException中的任何密钥k1k2 如果用户试图将一个关键字放入违反此约束的地图中(例如,用户尝试将一个字符串关键字放入一个其键是整数的地图中),则put(Object key, Object value)调用将抛出ClassCastException

TreeMap

Added in API level 1
TreeMap (Comparator<? super K> comparator)

根据给定的比较器构造一个新的空树映射。 插入到地图中的所有键都必须由给定的比较器相互比较的comparator.compare(k1, k2)不得抛出ClassCastException任何键k1k2在地图上。 如果用户试图将一个关键字放入违反此限制的地图中,则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

Added in API level 1
TreeMap (Map<? extends K, ? extends V> m)

构造一个包含与给定映射相同映射的新树映射,并根据其键的自然排序进行排序 插入到新映射中的所有密钥必须实现Comparable接口。 此外,所有这些密钥必须相互可比k1.compareTo(k2)不得为ClassCastException中的任何密钥k1k2 此方法在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

Added in API level 1
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

Public methods

ceilingEntry

Added in API level 9
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

ceilingKey

Added in API level 9
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

clear

Added in API level 1
void clear ()

从此映射中移除所有映射。 此通话返回后,地图将为空。

clone

Added in API level 1
Object clone ()

返回此TreeMap实例的浅表副本。 (键和值本身不克隆。)

Returns
Object a shallow copy of this map

comparator

Added in API level 1
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

containsKey

Added in API level 1
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

containsValue

Added in API level 1
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

descendingKeySet

Added in API level 9
NavigableSet<K> descendingKeySet ()

返回此映射中包含的键的逆序NavigableSet视图。 集合的迭代器按降序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.removeSet.removeremoveAllretainAll ,和clear操作。 它不支持addaddAll操作。

Returns
NavigableSet<K> a reverse order navigable set view of the keys in this map

descendingMap

Added in API level 9
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

entrySet

Added in API level 1
Set<Entry<K, V>> entrySet ()

返回此映射中映射的映射的 Set视图。

该集的迭代器按照升序键顺序返回条目。 这些集合的分割器是late-binding快速失败 ,并且另外报告SORTEDORDERED ,其中遇到顺序是按升序排序。

该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代时修改映射(除了通过迭代器自己的remove操作或通过迭代器返回的映射条目上的setValue操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.removeSet.removeremoveAllretainAllclear操作。 它不支持addaddAll操作。

Returns
Set<Entry<K, V>> a set view of the mappings contained in this map

firstEntry

Added in API level 9
Entry<K, V> firstEntry ()

返回与此地图中最小键值关联的键值映射;如果地图为空,则 null

Returns
Entry<K, V> an entry with the least key, or null if this map is empty

firstKey

Added in API level 1
K firstKey ()

返回此地图中当前第一个(最低)的键。

Returns
K the first (lowest) key currently in this map
Throws
NoSuchElementException

floorEntry

Added in API level 9
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

floorKey

Added in API level 9
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

forEach

Added in API level 24
void forEach (BiConsumer<? super K, ? super V> action)

对此映射中的每个条目执行给定操作,直到处理完所有条目或操作抛出异常为止。 除非实现类另有规定,否则按照条目集迭代的顺序执行操作(如果指定了迭代顺序)。操作抛出的异常会中继给调用者。

Parameters
action BiConsumer: The action to be performed for each entry

get

Added in API level 1
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

headMap

Added in API level 1
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

headMap

Added in API level 9
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

higherEntry

Added in API level 9
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

higherKey

Added in API level 9
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

keySet

Added in API level 1
Set<K> keySet ()

返回此映射中包含的键的 Set视图。

集合的迭代器按照升序返回键。 该集合的分割器是late-binding快速失败 ,并且另外报告SORTEDORDERED ,其中遇到顺序是按升序排序。 该spliterator的比较(见getComparator() )是null如果树映射的比较(见comparator() )是null 否则,分割器的比较器与树图的比较器相同,或者施加相同的总排序。

该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代的过程中修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.removeSet.removeremoveAllretainAll ,和clear操作。 它不支持addaddAll操作。

Returns
Set<K> a set view of the keys contained in this map

lastEntry

Added in API level 9
Entry<K, V> lastEntry ()

返回与此地图中最大键关联的键值映射,如果地图为空,则 null

Returns
Entry<K, V> an entry with the greatest key, or null if this map is empty

lastKey

Added in API level 1
K lastKey ()

返回此地图中当前最后一个(最高)的键。

Returns
K the last (highest) key currently in this map
Throws
NoSuchElementException

lowerEntry

Added in API level 9
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

lowerKey

Added in API level 9
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

navigableKeySet

Added in API level 9
NavigableSet<K> navigableKeySet ()

返回此映射中包含的键的NavigableSet视图。 集合的迭代器按照升序返回键。 该集合由地图支持,因此对地图的更改反映在集合中,反之亦然。 如果在对集合进行迭代的过程中修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.removeSet.removeremoveAllretainAll ,和clear操作。 它不支持addaddAll操作。

Returns
NavigableSet<K> a navigable set view of the keys in this map

pollFirstEntry

Added in API level 9
Entry<K, V> pollFirstEntry ()

移除并返回与此地图中最小键值关联的键值映射,或者 null映射为空的 null

Returns
Entry<K, V> the removed first entry of this map, or null if this map is empty

pollLastEntry

Added in API level 9
Entry<K, V> pollLastEntry ()

移除并返回与此地图中最大键关联的键值映射,或者 null映射为空的 null

Returns
Entry<K, V> the removed last entry of this map, or null if this map is empty

put

Added in API level 1
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

putAll

Added in API level 1
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

remove

Added in API level 1
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

replace

Added in API level 24
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

replace

Added in API level 24
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.)

replaceAll

Added in API level 24
void replaceAll (BiFunction<? super K, ? super V, ? extends V> function)

用对该条目调用给定函数的结果替换每个条目的值,直到处理完所有条目或者该函数抛出异常。 函数抛出的异常会传递给调用者。

Parameters
function BiFunction: the function to apply to each entry

size

Added in API level 1
int size ()

返回此映射中键 - 值映射的数量。

Returns
int the number of key-value mappings in this map

subMap

Added in API level 1
SortedMap<K, V> subMap (K fromKey, 
                K toKey)

返回此映射部分的视图,其键的范围从fromKey (含)至toKey (不包括)。 (如果fromKeytoKey相等,则返回的地图为空。)返回的地图由此地图支持,因此返回的地图中的更改将反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。

试图在其范围外插入密钥时,返回的地图会抛出 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

subMap

Added in API level 9
NavigableMap<K, V> subMap (K fromKey, 
                boolean fromInclusive, 
                K toKey, 
                boolean toInclusive)

返回此映射部分的视图,其键的范围从fromKeytoKey 如果fromKeytoKey相等,则返回的映射为空,除非fromInclusivetoInclusive均为真。 返回的地图由此地图支持,因此返回地图中的更改会反映在此地图中,反之亦然。 返回的地图支持该地图支持的所有可选地图操作。

返回的映射将尝试在其范围外插入一个键,或者构造其端点位于其范围之外的子映射的 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

tailMap

Added in API level 9
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

tailMap

Added in API level 1
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

values

Added in API level 1
Collection<V> values ()

返回此映射中包含的值的 Collection视图。

集合的迭代器按相应键的升序返回值。 该集合的分割器为late-binding快速失败 ,并且另外报告ORDERED ,其中按照相应键的升序排列。

该集合由地图支持,因此地图的更改会反映在集合中,反之亦然。 如果在迭代集合的过程中修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的。 该collection支持元素移除,即从映射中相应的映射,经由Iterator.removeCollection.removeremoveAllretainAllclear操作。 它不支持addaddAll操作。

Returns
Collection<V> a collection view of the values contained in this map

Hooray!