K
- 由该地图维护的键的类型
V
- 映射值的类型
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
NavigableMap
实现。
该地图是根据排序natural ordering其密钥,或通过Comparator
在地图创建时提供,这取决于所使用的构造方法。
此实现提供了保证的log(n)时间成本containsKey
, get
, put
和remove
操作。 算法是Cormen,Leiserson和Rivest的算法介绍中的算法的适应性 。
请注意,如果这个排序的映射要正确地实现Map
接口,那么由树映射维护的排序(如任何排序的映射)以及是否提供显式比较器都必须与equals
Map
一致。 (参见Comparable
或Comparator
为一致的精确定义与equals)。这是因为该Map
接口在来定义equals
的操作,但一个排序映射使用它所有的键比较compareTo
(或compare
)方法,于是两个从排序图的角度来说,通过该方法认为相等的键是相等的。 排序地图的行为是明确定义的,即使其排序与equals
; 它只是没有遵守Map
界面的总体合同。
请注意,此实现不同步。 如果多个线程同时访问映射,并且至少一个线程在结构上修改映射,则必须在外部进行同步。 (结构修改是添加或删除一个或多个映射的任何操作;仅改变与现有密钥相关联的值不是结构修改。)这通常通过对自然封装映射的一些对象进行同步来实现。 如果没有这样的对象存在,应该使用Collections.synchronizedSortedMap
方法“包装”地图。 这最好在创建时完成,以防止意外的不同步访问地图:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
由这个类的“集合视图方法”返回的iterator
方法返回的迭代器是故障快速的 :如果映射在迭代器创建之后的任何时间被结构地修改,除了通过迭代器自己的remove
方法,迭代器会抛出一个ConcurrentModificationException
。 因此,面对并发修改,迭代器将快速而干净地失败,而不是在未来未确定的时间冒着任意的非确定性行为。
请注意,迭代器的故障快速行为无法保证,因为一般来说,在不同步并发修改的情况下,无法做出任何硬性保证。 失败快速的迭代器尽力投入ConcurrentModificationException
。 因此,编写依赖于此异常的程序的正确性将是错误的:迭代器的故障快速行为应仅用于检测错误。
通过此类中的方法返回的所有Map.Entry
对,其视图表示生成时映射的快照。 他们不支持Entry.setValue
方法。 (请注意,可以使用put
更改关联地图中的put
。)
Map
, HashMap
, Hashtable
, Comparable
, Comparator
, Collection
, Serialized Form
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
TreeMap()
使用其键的自然排序构造一个新的空树状图。
|
TreeMap(Comparator<? super K> comparator)
构造一个新的,空的树图,按照给定的比较器排序。
|
TreeMap(Map<? extends K,? extends V> m)
构造一个新的树状图,其中包含与给定地图相同的映射,根据其键的
自然顺序进行排序 。
|
TreeMap(SortedMap<K,? extends V> m)
构造一个包含相同映射并使用与指定排序映射相同顺序的新树映射。
|
Modifier and Type | Method and Description |
---|---|
Map.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<Map.Entry<K,V>> |
entrySet()
返回此地图中包含的映射的 Set 视图。
|
Map.Entry<K,V> |
firstEntry()
返回与该地图中的最小键相关联的键值映射,如果地图为空,则返回
null 。
|
K |
firstKey()
返回此地图中当前的第一个(最低)键。
|
Map.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 。
|
NavigableMap<K,V> |
headMap(K toKey, boolean inclusive)
返回此地图部分的视图,其键值小于(或等于,如果
inclusive 为真)
toKey 。
|
Map.Entry<K,V> |
higherEntry(K key)
返回与最小密钥相关联的密钥值映射严格大于给定密钥,如果没有这样的密钥则
null 。
|
K |
higherKey(K key)
返回严格大于给定键的最小键,如果没有这样的键,则返回
null 。
|
Set<K> |
keySet()
返回此地图中包含的键的 Set 视图。
|
Map.Entry<K,V> |
lastEntry()
返回与该地图中最大关键字关联的键值映射,如果地图为空,则返回
null 。
|
K |
lastKey()
返回当前在此地图中的最后(最高)键。
|
Map.Entry<K,V> |
lowerEntry(K key)
返回与最大密钥相关联的密钥值映射严格小于给定密钥,如果没有这样的密钥,则
null 。
|
K |
lowerKey(K key)
返回严格小于给定键的最大键,如果没有这样的键,则返回
null 。
|
NavigableSet<K> |
navigableKeySet()
返回此地图中包含的键的 NavigableSet 视图。
|
Map.Entry<K,V> |
pollFirstEntry()
删除并返回与该地图中的最小键相关联的键值映射,如果地图为空,则返回
null 。
|
Map.Entry<K,V> |
pollLastEntry()
删除并返回与该地图中最大密钥相关联的键值映射,如果地图为空,则返回
null 。
|
V |
put(K key, V value)
将指定的值与此映射中的指定键相关联。
|
void |
putAll(Map<? extends K,? extends V> map)
将指定地图的所有映射复制到此地图。
|
V |
remove(Object key)
从此TreeMap中删除此键的映射(如果存在)。
|
V |
replace(K key, V value)
只有当目标映射到某个值时,才能替换指定键的条目。
|
boolean |
replace(K key, V oldValue, V newValue)
仅当当前映射到指定的值时,才能替换指定键的条目。
|
void |
replaceAll(BiFunction<? super K,? super V,? extends V> function)
将每个条目的值替换为对该条目调用给定函数的结果,直到所有条目都被处理或该函数抛出异常。
|
int |
size()
返回此地图中键值映射的数量。
|
NavigableMap<K,V> |
subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此地图部分的视图,其关键范围为
fromKey 至
toKey 。
|
SortedMap<K,V> |
subMap(K fromKey, K toKey)
返回此地图部分的视图,其关键字范围从
fromKey (含)到
toKey ,独占。
|
SortedMap<K,V> |
tailMap(K fromKey)
返回此地图部分的视图,其键大于等于
fromKey 。
|
NavigableMap<K,V> |
tailMap(K fromKey, boolean inclusive)
返回此地图部分的视图,其键大于(或等于,如果
inclusive 为真)
fromKey 。
|
Collection<V> |
values()
返回此地图中包含的值的 Collection 视图。
|
equals, hashCode, isEmpty, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, equals, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove
public TreeMap()
Comparable
界面。
此外,所有这些密钥必须是相互可比的 : k1.compareTo(k2)
不能为ClassCastException
中的任何键k1
和k2
。
如果用户试图将一个键放入违反该约束的地图中(例如,用户尝试将一个字符串键放入一个键为整数的地图中),则put(Object key, Object value)
调用将抛出ClassCastException
。
public TreeMap(Comparator<? super K> comparator)
comparator.compare(k1, k2)
不得为ClassCastException
中的任何键k1
和k2
。
如果用户试图将一个键放入地图中,违反此约束,则put(Object key, Object value)
调用将抛出ClassCastException
。
comparator
- 将用于订购此地图的比较器。
如果null
,则使用natural ordering的按键。
public TreeMap(Map<? extends K,? extends V> m)
Comparable
界面。
此外,所有这些密钥必须是相互可比的 : k1.compareTo(k2)
不能为ClassCastException
中的任何键k1
和k2
。
此方法运行在n * log(n)时间。
m
- 其映射将放置在此映射中的映射
ClassCastException
- 如果m中的键不是Comparable
,或者不相互比较
NullPointerException
- 如果指定的地图为空
public TreeMap(SortedMap<K,? extends V> m)
m
- 其映射将被放置在该映射中的排序映射,并且其比较器将用于对该映射进行排序
NullPointerException
- 如果指定的地图为空
public int size()
public boolean containsKey(Object key)
true
。
containsKey
在界面
Map<K,V>
containsKey
在类别
AbstractMap<K,V>
key
- 要在此地图中存在的密钥要进行测试
true
如果此映射包含指定键的映射
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,并且此映射使用自然排序,或者其比较器不允许空键
public boolean containsValue(Object value)
true
。
更正式地,返回true
如果且仅当此映射包含至少一个映射到值v
,使得(value==null ? v==null : value.equals(v))
。
对于大多数实现,此操作可能需要在地图大小的时间线性。
containsValue
在界面
Map<K,V>
containsValue
在类别
AbstractMap<K,V>
value
- 要在此地图中存在的值要进行测试
true
如果映射到value
存在;
false
否则
public V get(Object key)
null
如果此映射包含该键的映射。
更正式地,如果该地图包含从键k
到值v
,使得key
根据地图的排序等于k
,则该方法返回v
; 否则返回null
。 (最多可以有一个这样的映射。)
返回值null
并不一定表示该映射不包含该键的映射; 地图也可能明确地将密钥映射到null
。 可以使用containsKey
操作来区分这两种情况。
get
在界面
Map<K,V>
get
在
AbstractMap<K,V>
key
- 要返回其关联值的键
null
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,并且该映射使用自然排序,或者其比较器不允许空键
public Comparator<? super K> comparator()
SortedMap
复制
null
如果此地图使用其键的natural ordering 。
comparator
在界面
SortedMap<K,V>
null
如果该地图使用其键的自然排序
public K firstKey()
SortedMap
复制
firstKey
在界面
SortedMap<K,V>
NoSuchElementException
- 如果
NoSuchElementException
空
public K lastKey()
SortedMap
复制
lastKey
在界面
SortedMap<K,V>
NoSuchElementException
- 如果这张地图是空的
public void putAll(Map<? extends K,? extends V> map)
putAll
在界面
Map<K,V>
putAll
在类别
AbstractMap<K,V>
map
- 要存储在此地图中的映射
ClassCastException
- 如果指定地图中的键或值的类别阻止其存储在此映射中
NullPointerException
- 如果指定的映射为空或指定的映射包含空键,并且此映射不允许空键
public V put(K key, V value)
put
在界面
Map<K,V>
put
在类别
AbstractMap<K,V>
key
- 指定值与之关联的键
value
- 与指定键相关联的值
key
,或null
如果没有key
映射。
(A null
返回也可以指示以前关联的地图null
与key
)
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public V remove(Object key)
remove
在界面
Map<K,V>
remove
在类别
AbstractMap<K,V>
key
- 应该删除哪个映射的键
key
,或null
如果没有key
映射。
(A null
返回也可以表示该地图之前关联的null
与key
)
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,并且该映射使用自然排序,或者其比较器不允许空值
public void clear()
public Object clone()
TreeMap
实例的浅拷贝。
(键和值本身不被克隆。)
clone
在类别
AbstractMap<K,V>
Cloneable
public Map.Entry<K,V> firstEntry()
NavigableMap
复制
null
。
firstEntry
在界面
NavigableMap<K,V>
null
如果该地图为空
public Map.Entry<K,V> lastEntry()
NavigableMap
复制
null
。
lastEntry
在界面
NavigableMap<K,V>
null
public Map.Entry<K,V> pollFirstEntry()
NavigableMap
复制
null
。
pollFirstEntry
在界面
NavigableMap<K,V>
null
空,
null
public Map.Entry<K,V> pollLastEntry()
NavigableMap
复制
null
。
pollLastEntry
在界面
NavigableMap<K,V>
null
空,
null
public Map.Entry<K,V> lowerEntry(K key)
NavigableMap
复制
null
。
lowerEntry
在界面
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的密钥
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public K lowerKey(K key)
NavigableMap
复制
null
。
lowerKey
在界面
NavigableMap<K,V>
key
- 关键
key
,否则
null
如果没有这样的钥匙
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,并且该映射使用自然排序,或者其比较器不允许空键
public Map.Entry<K,V> floorEntry(K key)
NavigableMap
复制
null
。
floorEntry
在界面
NavigableMap<K,V>
key
- 关键
key
,如果没有这样的密钥,
null
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public K floorKey(K key)
NavigableMap
复制
null
。
floorKey
在界面
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的钥匙
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public Map.Entry<K,V> ceilingEntry(K key)
NavigableMap
复制
null
。
ceilingEntry
在接口
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的键
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,并且该映射使用自然排序,或者其比较器不允许空键
public K ceilingKey(K key)
NavigableMap
复制
null
键,如果没有此键,则返回
null
。
ceilingKey
在界面
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的键
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public Map.Entry<K,V> higherEntry(K key)
NavigableMap
复制
null
。
higherEntry
在界面
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的键
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空键
public K higherKey(K key)
NavigableMap
复制
null
。
higherKey
在界面
NavigableMap<K,V>
key
- 关键
key
,或
null
如果没有这样的键
ClassCastException
- 如果指定的键不能与当前在地图中的键进行比较
NullPointerException
- 如果指定的键为空,此映射使用自然排序,或者其比较器不允许空值
public Set<K> keySet()
Set
视图。
该集合的迭代器按升序返回密钥。 集合的分配器是late-binding , 失败快速 ,另外报告Spliterator.SORTED
和Spliterator.ORDERED
,遇到订单是升序键顺序。 该spliterator的比较(见Spliterator.getComparator()
)是null
如果树映射的比较(见comparator()
)是null
。 否则,拼接器的比较器与树形图的比较器相同或者施加相同的总排序。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代过程中修改了映射(除了通过迭代器自己的remove
之外),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
和clear
操作。 它不支持add
或addAll
操作。
public NavigableSet<K> navigableKeySet()
NavigableMap
复制
NavigableSet
视图。
该集合的迭代器按升序返回密钥。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。
如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。
该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
和clear
操作。
它不支持add
或addAll
操作。
navigableKeySet
在界面
NavigableMap<K,V>
public NavigableSet<K> descendingKeySet()
NavigableMap
复制
NavigableSet
。
集合的迭代器按降序返回密钥。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。
如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。
该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
和clear
操作。
它不支持add
或addAll
操作。
descendingKeySet
在界面
NavigableMap<K,V>
public Collection<V> values()
Collection
查看此地图中包含的值。
集合的迭代器按照相应键的升序返回值。 集合的分配器为late-binding , 故障快速 ,另外报告Spliterator.ORDERED
,遇到订单是相应键的升序。
集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该collection支持元素移除,即从映射中相应的映射,经由Iterator.remove
, Collection.remove
, removeAll
, retainAll
和clear
操作。 它不支持add
或addAll
操作。
public Set<Map.Entry<K,V>> entrySet()
Set
视图。
集合的迭代器按升序键顺序返回条目。 集合的分配器为late-binding , 故障快速 ,另外报告Spliterator.SORTED
和Spliterator.ORDERED
,遇到订单是升序键顺序。
该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作,或者通过迭代器返回的映射条目上的setValue
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
, Set.remove
, removeAll
, retainAll
和clear
操作。 它不支持add
或addAll
操作。
public NavigableMap<K,V> descendingMap()
NavigableMap
复制
remove
之外),否则修改了任一映射,则迭代的结果是未定义的。
返回的地图的订单等价于Collections.reverseOrder
(comparator()) 。 表达式m.descendingMap().descendingMap()
返回m.descendingMap().descendingMap()
的视图, m
相当于m
。
descendingMap
在界面
NavigableMap<K,V>
public NavigableMap<K,V> subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
NavigableMap
复制
fromKey
至toKey
。
如果fromKey
和toKey
相等,返回的地图为空,除非fromInclusive
和toInclusive
都为真。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException
,试图插入其范围之外的一个键,或构造一个其端点位于其范围之外的子地图。
subMap
在界面
NavigableMap<K,V>
fromKey
- 返回地图中的键的低端点
fromInclusive
-
true
如果低端点要包含在返回的视图中
toKey
- 返回地图中的键的高端点
toInclusive
-
true
如果高端点要包含在返回的视图中
fromKey
到
toKey
ClassCastException
- 如果fromKey
和toKey
无法使用该地图的比较器相互比较(或者,如果地图没有比较器,则使用自然排序)。
如果fromKey
或toKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
fromKey
或
toKey
为空,此地图使用自然排序,或其比较不允许空键
IllegalArgumentException
- 如果fromKey
大于toKey
;
或者如果此地图本身具有限制范围,并且fromKey
或toKey
位于范围范围之外
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)
NavigableMap
复制
inclusive
为真) toKey
。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException
,试图在其范围之外插入一个键。
headMap
在界面
NavigableMap<K,V>
toKey
- 返回地图中的键的高端点
inclusive
-
true
如果高端点要包含在返回的视图中
inclusive
为真)的地图部分的视图
toKey
ClassCastException
- 如果toKey
与此地图的toKey
器不兼容(或者如果地图没有比较器,如果toKey
不实现Comparable
)。
如果toKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
toKey
为空,并且此映射使用自然排序,或其比较器不允许空键
IllegalArgumentException
- 如果此地图本身具有限制范围,并且
toKey
位于范围界限之外
public NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
NavigableMap
复制
inclusive
为真) fromKey
。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将抛出一个IllegalArgumentException
,试图在其范围之外插入一个键。
tailMap
在界面
NavigableMap<K,V>
fromKey
- 返回地图中键的低端点
inclusive
-
true
如果低端点要包含在返回的视图中
inclusive
为真)
fromKey
ClassCastException
- 如果fromKey
与该地图的fromKey
器不兼容(或者如果地图没有比较器,如果fromKey
不实现Comparable
)。
如果fromKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
fromKey
为空,并且该地图使用自然排序,或者其比较器不允许空键
IllegalArgumentException
- 如果此地图本身有限制范围,并且
fromKey
位于范围的范围之外
public SortedMap<K,V> subMap(K fromKey, K toKey)
NavigableMap
复制
fromKey
(含),不toKey
toKey。
(如果fromKey
和toKey
相等,则返回的地图为空。)返回的地图由该地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图将扔一个IllegalArgumentException
尝试在其范围之外插入一个键。
相当于subMap(fromKey, true, toKey, false)
。
subMap
在界面
NavigableMap<K,V>
subMap
在接口
SortedMap<K,V>
fromKey
- 返回地图中的键的低端点(含)
toKey
- 返回地图中的键的高端点(排他)
fromKey
(含)到
toKey
,独占
ClassCastException
- 如果fromKey
和toKey
无法使用该地图的比较器相互比较(或者,如果地图没有比较器,则使用自然排序)。
如果fromKey
或toKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
fromKey
或
toKey
为空,并且该地图使用自然排序,或者其比较器不允许空键
IllegalArgumentException
- 如果fromKey
大于toKey
;
或者如果此地图本身具有有限的范围,并且fromKey
或toKey
位于范围的界限之外
public SortedMap<K,V> headMap(K toKey)
NavigableMap
复制
toKey
。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException
,试图在其范围之外插入一个键。
相当于headMap(toKey, false)
。
headMap
在界面
NavigableMap<K,V>
headMap
在界面
SortedMap<K,V>
toKey
- 返回地图中的键的高端点(独占)
toKey
ClassCastException
- 如果toKey
与此地图的toKey
器不兼容(或者如果地图没有比较器,如果toKey
不实现Comparable
)。
如果toKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
toKey
为空,并且该地图使用自然排序,或者其比较器不允许空键
IllegalArgumentException
- 如果此地图本身具有有限的范围,并且
toKey
位于范围的范围之外
public SortedMap<K,V> tailMap(K fromKey)
NavigableMap
复制
fromKey
。
返回的地图由此地图支持,因此返回的地图中的更改将反映在该地图中,反之亦然。
返回的地图支持该地图支持的所有可选地图操作。
返回的地图会抛出一个IllegalArgumentException
,试图在其范围之外插入一个键。
相当于tailMap(fromKey, true)
。
tailMap
在界面
NavigableMap<K,V>
tailMap
在界面
SortedMap<K,V>
fromKey
- 返回地图中的键的低端点(含)
fromKey
ClassCastException
- 如果fromKey
与此地图的fromKey
器不兼容(或者如果地图没有比较器,如果fromKey
不实现Comparable
)。
如果fromKey
无法与当前在地图中的键进行比较,则实施可能但不是必须抛出此异常。
NullPointerException
- 如果
fromKey
为空,并且该地图使用自然排序,或其比较器不允许空键
IllegalArgumentException
- 如果该地图本身有限制范围,并且
fromKey
位于范围界限之外
public void forEach(BiConsumer<? super K,? super V> action)
Map
复制
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
Map
复制
replaceAll
在界面
Map<K,V>
function
- 应用于每个条目的功能
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.