K
-钥匙的Map保持型
V
-映射的值的类型
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, Serializable
NavigableMap
实现红黑树。Map是根据它的键的
natural ordering排序,或通过设置在Map创建时
Comparator
,取决于使用哪个构造函数。
这种实现提供保证log(n)的时间成本的containsKey
,get
,put
和remove
操作。算法是在Cormen,Leiserson改编,和Rivest的算法导论。
注意排序树映射保持,像任何排序图,以及是否提供一个明确的比较器,必须符合等于如果排序图是正确执行Map
接口。(见Comparable
或Comparator
为符合平等的。一个精确的定义)这是因为Map
接口在equals
操作定义,但排序图上执行所有关键的比较使用compareTo
(或compare
)方法,所以两个键被视为平等的方法是,从排序Map的角度来看,平等。即使它的顺序是不一致的equals
排序图的行为是明确的;它只是不服从的Map
接口一般合同。
请注意,此实现不同步。如果多个线程访问一个Map的同时,并至少有一个线程修改Map的结构,它必须是同步的外部。(结构上的修改是任何操作,添加或删除一个或多个映射;仅仅改变一个现有的键所关联的值不是一个结构上的修改。)这通常是由一些对象同步自然封装图完成。如果该对象不存在,Map应该是“包裹”使用Collections.synchronizedSortedMap
方法。最好的做法是在创建时,防止意外的非同步访问的Map:
M =集合建模。synchronizedsortedmap(新的树状图(…));
迭代器返回的集合的iterator
方法返回这个类的所有的“集合视图的方法“快速失败:如果Map的结构修改,迭代器创建后的任何时间,以任何方式除了通过迭代器的remove
方法,迭代器将抛出一个ConcurrentModificationException
。因此,在遇到同步修改,迭代器不能快速、干净,而不是冒着任意的,非在将来一个不确定的时间确定的行为。
注意迭代器不能快速失败行为得到保证的话,一般来说,不可能在不同步的并发修改的存在作出难以保证。快速失败迭代器扔ConcurrentModificationException
尽最大努力的基础上。因此,要写一个程序,依靠这一例外的正确性错误:快速失败迭代器的行为只能用来检测错误。
对所有Map.Entry
返回这类及其观点方法代表快照映射在当时产生的。他们不支持Entry.setValue
方法。(注意,可以在相关的Map使用put
。变化映射)
这个班的一员 Java Collections Framework。
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 如果没有这样的关键。
|
void |
clear()
从这个映射中移除所有的映射。
|
Object |
clone()
返回该
TreeMap 实例浅拷贝。
|
Comparator<? super K> |
comparator()
返回用于秩序在这个Map钥匙的比较器,或
null 如果这个Map使用其密钥的
natural ordering。
|
boolean |
containsKey(Object key)
返回
true 如果这Map包含一个指定的键映射。
|
boolean |
containsValue(Object value)
返回
true 如果映射到指定的值的一个或多个键。
|
NavigableSet<K> |
descendingKeySet()
返回一个相反的顺序
NavigableSet 查看键包含在这个Map。
|
NavigableMap<K,V> |
descendingMap()
返回此映射中包含的映射的逆顺序视图。
|
Set<Map.Entry<K,V>> |
entrySet()
返回一个
Set 映射的视图包含在这个Map。
|
Map.Entry<K,V> |
firstEntry()
返回一个与该图的最小密钥相关的键值映射,或
null 如果Map是空的。
|
K |
firstKey()
返回当前在该Map中的第一个(最低)键。
|
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 如果这个Map不包含的键映射。
|
SortedMap<K,V> |
headMap(K toKey)
返回从这个Map的关键是严格小于
toKey 部分。
|
NavigableMap<K,V> |
headMap(K toKey, boolean inclusive)
返回从这个Map的关键是少部分(或相等,如果
inclusive 是真的)
toKey 。
|
Map.Entry<K,V> |
higherEntry(K key)
返回的键值映射与最关键严格大于给定的键,或
null 如果没有这样的关键。
|
K |
higherKey(K key)
返回最关键严格大于给定的键,或
null 如果没有这样的关键。
|
Set<K> |
keySet()
返回一个
Set 查看键包含在这个Map。
|
Map.Entry<K,V> |
lastEntry()
返回一个与该Map的最大密钥相关的键值映射,或
null 如果Map是空的。
|
K |
lastKey()
返回当前在该Map中的最后(最高)键。
|
Map.Entry<K,V> |
lowerEntry(K key)
返回的键值映射与最大的关键严格小于给定的键,或
null 如果没有这样的关键。
|
K |
lowerKey(K key)
返回最大关键严格小于给定的键,或
null 如果没有这样的关键。
|
NavigableSet<K> |
navigableKeySet()
返回一个
NavigableSet 查看键包含在这个Map。
|
Map.Entry<K,V> |
pollFirstEntry()
删除并返回一个与该图的最小密钥相关的键值映射,或
null 如果Map是空的。
|
Map.Entry<K,V> |
pollLastEntry()
删除并返回一个与该Map的最大密钥相关的键值映射,或
null 如果Map是空的。
|
V |
put(K key, V value)
将指定的值与此映射中的指定键关联。
|
void |
putAll(Map<? extends K,? extends V> map)
从指定的映射到该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)
返回从这个Map的键范围从
fromKey 到
toKey 部分。
|
SortedMap<K,V> |
subMap(K fromKey, K toKey)
返回从这个Map的键范围从
fromKey ,包容的部分
toKey ,独家。
|
SortedMap<K,V> |
tailMap(K fromKey)
返回从这个Map的关键是大于或等于
fromKey 部分。
|
NavigableMap<K,V> |
tailMap(K fromKey, boolean inclusive)
返回从这个Map的关键是大于(或等于部分,如果
inclusive 是真的)
fromKey 。
|
Collection<V> |
values()
返回一个
Collection 的价值观包含在这个Map。
|
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)
不得把任何键
k1
和
k2
在Map
ClassCastException
。如果用户试图把钥匙插入Map违反此约束(例如,用户试图把一个字符串键进入Map的钥匙都是整数),该
put(Object key, Object value)
称将
ClassCastException
。
public TreeMap(Comparator<? super K> comparator)
comparator.compare(k1, k2)
不得把任何键
k1
和
k2
在Map
ClassCastException
。如果用户试图把钥匙插入Map违反此约束的
put(Object key, Object value)
称将
ClassCastException
。
comparator
-比较器将用于订购这张Map。如果
null
,钥匙的
natural ordering将使用。
public TreeMap(Map<? extends K,? extends V> m)
Comparable
接口。此外,所有钥匙必须相互比较:
k1.compareTo(k2)
不得把任何键
k1
和
k2
在Map
ClassCastException
。此方法在n *日志(n)时间内运行。
m
的映射被放置在这个Map的Map
ClassCastException
如果M键并不
Comparable
,或互不可比
NullPointerException
-如果指定的Map是空的
public TreeMap(SortedMap<K,? extends V> m)
m
-排序图的映射是放在这张Map上,和其比较器是用来解决这个Map
NullPointerException
-如果指定的Map是空的
public int size()
public boolean containsKey(Object key)
true
如果这Map包含一个指定的键映射。
containsKey
接口
Map<K,V>
containsKey
方法重写,继承类
AbstractMap<K,V>
key
键的存在,在这张Map上可以进行测试
true
如果这Map包含一个指定的键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public boolean containsValue(Object value)
true
如果映射到指定的值的一个或多个键。更正式地说,返回
true
当且仅当该Map包含至少一个映射到一个值
v
这样
(value==null ? v==null : value.equals(v))
。该操作可能需要的时间线在Map的大小对于大多数的实现。
containsValue
接口
Map<K,V>
containsValue
方法重写,继承类
AbstractMap<K,V>
value
-它的存在价值进行测试
true
如果映射到
value
存在;
false
否则
public V get(Object key)
null
如果这个Map不包含的键映射。
更正式地说,如果这个图中包含了从关键k
到价值v
这样key
比较等于k
根据Map的排序,那么这个方法返回v
;否则返回null
。(最多只能有一个这样的映射。)
一个null
返回值并不一定表明,Map不包含的键映射;也有可能是Map明确地映射到null
关键。的containsKey
操作可用于区分这两例。
get
接口
Map<K,V>
get
方法重写,继承类
AbstractMap<K,V>
key
-关键的相关值被返回
null
如果这个Map不包含的键映射
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public Comparator<? super K> comparator()
SortedMap
null
如果这个Map使用其密钥的
natural ordering。
comparator
接口
SortedMap<K,V>
null
如果这个Map使用的键的自然顺序
public K firstKey()
SortedMap
firstKey
接口
SortedMap<K,V>
NoSuchElementException
-如果这Map是空的
public K lastKey()
SortedMap
lastKey
接口
SortedMap<K,V>
NoSuchElementException
-如果这Map是空的
public void putAll(Map<? extends K,? extends V> map)
putAll
接口
Map<K,V>
putAll
方法重写,继承类
AbstractMap<K,V>
map
映射被存储在这个Map
ClassCastException
-如果指定Map的键或值班防止它被存储在这个Map
NullPointerException
-如果指定的Map是空的或指定的Map包含一个空的钥匙和Map不允许null键
public V put(K key, V value)
put
接口
Map<K,V>
put
方法重写,继承类
AbstractMap<K,V>
key
键与指定的值是相关联的
value
值必须与指定键关联
key
以前的值,或者
null
如果没有映射的
key
。(一
null
返回也表明Map以前相关的
null
与
key
。)
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public V remove(Object key)
remove
接口
Map<K,V>
remove
方法重写,继承类
AbstractMap<K,V>
key
键的映射应该被删除
key
以前的值,或者
null
如果没有映射的
key
。(一
null
返回也表明Map以前相关的
null
与
key
。)
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public void clear()
public Object clone()
TreeMap
实例浅拷贝。(键和值本身没有被克隆。)
clone
方法重写,继承类
AbstractMap<K,V>
Cloneable
public Map.Entry<K,V> firstEntry()
NavigableMap
null
如果Map是空的。
firstEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> lastEntry()
NavigableMap
null
如果Map是空的。
lastEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> pollFirstEntry()
NavigableMap
null
如果Map是空的。
pollFirstEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> pollLastEntry()
NavigableMap
null
如果Map是空的。
pollLastEntry
接口
NavigableMap<K,V>
null
如果这个Map是空的
public Map.Entry<K,V> lowerEntry(K key)
NavigableMap
null
如果没有这样的关键。
lowerEntry
接口
NavigableMap<K,V>
key
的关键
key
入境,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public K lowerKey(K key)
NavigableMap
null
如果没有这样的关键。
lowerKey
接口
NavigableMap<K,V>
key
的关键
key
,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public Map.Entry<K,V> floorEntry(K key)
NavigableMap
null
如果没有这样的关键。
floorEntry
接口
NavigableMap<K,V>
key
的关键
key
入境,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public K floorKey(K key)
NavigableMap
null
如果没有这样的关键。
floorKey
接口
NavigableMap<K,V>
key
的关键
key
,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public Map.Entry<K,V> ceilingEntry(K key)
NavigableMap
null
如果没有这样的关键。
ceilingEntry
接口
NavigableMap<K,V>
key
的关键
key
最关键的条目,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public K ceilingKey(K key)
NavigableMap
null
如果没有这样的关键。
ceilingKey
接口
NavigableMap<K,V>
key
的关键
key
最关键,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public Map.Entry<K,V> higherEntry(K key)
NavigableMap
null
如果没有这样的关键。
higherEntry
接口
NavigableMap<K,V>
key
的关键
key
最关键的条目,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public K higherKey(K key)
NavigableMap
null
如果没有这样的关键。
higherKey
接口
NavigableMap<K,V>
key
的关键
key
最关键,或
null
如果没有这样的关键
ClassCastException
-如果指定的键不能与目前在Map的按键相比
NullPointerException
-如果指定的键是无效的,这张Map使用自然排序,或者比较不允许null键
public Set<K> keySet()
Set
的关键视图包含在这个Map。
该集合的迭代器以提升顺序返回键。设定的spliterator是后期绑定,快速失败,并报告Spliterator.SORTED
和Spliterator.ORDERED
与遇到的秩序,提升关键点。的spliterator的比较器(见Spliterator.getComparator()
)是null
如果树图的比较(见comparator()
)是null
。否则,该spliterator的比较器相同或施加相同的总排序为树图的比较。
该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。如果Map是在设置一个迭代过程中修改(除非通过迭代器的remove
操作),迭代的结果是不确定的。设置支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Set.remove
,removeAll
,retainAll
,和clear
操作。它不支持add
或addAll
操作。
public NavigableSet<K> navigableKeySet()
NavigableMap
NavigableSet
查看键包含在这个Map。该集合的迭代器以提升顺序返回键。该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。如果Map是在设置一个迭代过程中修改(除非通过迭代器的
remove
操作),迭代的结果是不确定的。设置支持元素的去除,从Map中移除相应的映射,通过
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
,和
clear
操作。它不支持
add
或
addAll
操作。
navigableKeySet
接口
NavigableMap<K,V>
public NavigableSet<K> descendingKeySet()
NavigableMap
NavigableSet
查看键包含在这个Map。该集合的迭代器以递减的顺序返回键。该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。如果Map是在设置一个迭代过程中修改(除非通过迭代器的
remove
操作),迭代的结果是不确定的。设置支持元素的去除,从Map中移除相应的映射,通过
Iterator.remove
,
Set.remove
,
removeAll
,
retainAll
,和
clear
操作。它不支持
add
或
addAll
操作。
descendingKeySet
接口
NavigableMap<K,V>
public Collection<V> values()
Collection
视图的值包含在这个Map。
集合的迭代器返回相应键的上升顺序的值。收集的spliterator是后期绑定,快速失败,并报告一遇到秩序,提升相应的按键顺序Spliterator.ORDERED
。
集合是由Map支持的,所以对Map的变化反映在集合中,反之亦然。如果Map是在集合的迭代进行修改(除非通过迭代器的remove
操作),迭代的结果是不确定的。收集支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Collection.remove
,removeAll
,retainAll
和clear
操作。它不支持add
或addAll
操作。
public Set<Map.Entry<K,V>> entrySet()
Set
映射的视图包含在这个Map。
该集合的迭代器返回键顺序中的条目。本集的spliterator是后期绑定,快速失败,并报告Spliterator.SORTED
和Spliterator.ORDERED
与遇到的秩序,提升关键点。
该集合是由Map的支持,所以对Map的变化反映在集合中,反之亦然。如果Map是在设置一个迭代过程中修改(除非通过迭代器的remove
操作,或通过setValue
操作返回的迭代器的映射项)的迭代的结果是不确定的。设置支持元素的去除,从Map中移除相应的映射,通过Iterator.remove
,Set.remove
,removeAll
,retainAll
和clear
操作。它不支持add
或addAll
操作。
public NavigableMap<K,V> descendingMap()
NavigableMap
remove
操作),迭代的结果是不确定的。
返回Map具有订购相当于Collections.reverseOrder
(comparator())。表达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
相等,返回Map是空的,除非
fromInclusive
toInclusive
都是真实的。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在它的范围之外的一个IllegalArgumentException
,或构建一个区块是其端点超出其范围。
subMap
接口
NavigableMap<K,V>
fromKey
-返回Map的关键端点低
fromInclusive
-
true
如果低的终点是被包含在返回的视图
toKey
-返回Map的关键点
toInclusive
-
true
如果高终点是被包含在返回的视图
fromKey
到
toKey
部分
ClassCastException
-如果
fromKey
和
toKey
不能与另一个使用这个Map的比较器(或者,如果Map没有比较器,采用自然排序)。实现可能,但不是必需的,如果
fromKey
或
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
或
toKey
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果
fromKey
大于
toKey
;或者如果这Map本身有一个限制的范围内,和
fromKey
或
toKey
超出范围的界限
public NavigableMap<K,V> headMap(K toKey, boolean inclusive)
NavigableMap
inclusive
是真的)
toKey
。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
headMap
接口
NavigableMap<K,V>
toKey
-返回Map的关键点
inclusive
-
true
如果高终点是被包含在返回的视图
inclusive
是真的)
toKey
ClassCastException
-如果
toKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
toKey
不实现
Comparable
)。实现可能,但不是必需的,如果
toKey
不能相比,目前在Map键抛出该异常。
toKey
NullPointerException
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
toKey
超出范围的界限
public NavigableMap<K,V> tailMap(K fromKey, boolean inclusive)
NavigableMap
inclusive
是真的)
fromKey
。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
tailMap
接口
NavigableMap<K,V>
fromKey
-返回Map的关键端点低
inclusive
-
true
如果低的终点是被包含在返回的视图
inclusive
是真的)
fromKey
ClassCastException
-如果
fromKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
fromKey
不实现
Comparable
)。实现可能,但不是必需的,如果
fromKey
不能相比,目前在Map键抛出该异常。
fromKey
NullPointerException
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
fromKey
超出范围的界限
public SortedMap<K,V> subMap(K fromKey, K toKey)
NavigableMap
fromKey
,包容的部分
toKey
,独家。(如果
fromKey
和
toKey
相等,返回Map是空的。)返回的Map由Map的支持,所以在返回的Map变化都反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
相当于subMap(fromKey, true, toKey, false)
。
subMap
接口
NavigableMap<K,V>
subMap
接口
SortedMap<K,V>
fromKey
低端点(含)返回的映射中的键
toKey
高端点(独家)返回的映射中的键
fromKey
,包容的部分
toKey
,独家
ClassCastException
-如果
fromKey
和
toKey
不能与另一个使用这个Map的比较器(或者,如果Map没有比较器,采用自然排序)。实现可能,但不是必需的,如果
fromKey
或
toKey
不能相比,目前在Map键抛出该异常。
NullPointerException
-如果
fromKey
或
toKey
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果
fromKey
大于
toKey
;或者如果这Map本身有一个限制的范围内,和
fromKey
或
toKey
超出范围的界限
public SortedMap<K,V> headMap(K toKey)
NavigableMap
toKey
部分。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
相当于headMap(toKey, false)
。
headMap
接口
NavigableMap<K,V>
headMap
接口
SortedMap<K,V>
toKey
高端点(独家)返回的映射中的键
toKey
部分
ClassCastException
-如果
toKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
toKey
不实现
Comparable
)。实现可能,但不是必需的,如果
toKey
不能相比,目前在Map键抛出该异常。
toKey
NullPointerException
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
toKey
超出范围的界限
public SortedMap<K,V> tailMap(K fromKey)
NavigableMap
fromKey
部分。返回的Map是由这张Map的支持,所以在返回的Map的变化反映在这张Map上,反之亦然。返回的Map支持这张Map支持的所有可选的Map操作。
返回的Map将把企图把钥匙插在其范围内的IllegalArgumentException
。
相当于tailMap(fromKey, true)
。
tailMap
接口
NavigableMap<K,V>
tailMap
接口
SortedMap<K,V>
fromKey
低端点(含)返回的映射中的键
fromKey
部分
ClassCastException
-如果
fromKey
不是这个Map的比较器兼容的(或者,如果Map没有比较,如果
fromKey
不实现
Comparable
)。实现可能,但不是必需的,如果
fromKey
不能相比,目前在Map键抛出该异常。
fromKey
NullPointerException
是无效的,这张Map使用自然排序,或者比较不允许null键
IllegalArgumentException
-如果这Map本身有一个限制的范围内,和
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.