W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.util.AbstractMap<K,V&
|---|---java.util.TreeMap<K,V&
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, Serializable
基于紅黑樹的 NavigableMap 實現(xiàn)。 地圖根據(jù)其鍵的 Comparable 排序,或者根據(jù)地圖創(chuàng)建時提供的 Comparator 排序,具體取決于使用的構(gòu)造函數(shù)。
此實現(xiàn)為 containsKey、get、put 和 remove 操作提供有保證的 log(n) 時間成本。 算法是對 Cormen、Leiserson 和 Rivest 的算法簡介中的那些算法的改編。
請注意,樹形映射維護的順序,就像任何排序映射一樣,以及是否提供顯式比較器,如果此排序映射要正確實現(xiàn) Map 接口,則必須與 equals 保持一致。 (參見 Comparable 或 Comparator 以了解與 equals 一致的精確定義。)這是因為 Map 接口是根據(jù) equals 操作定義的,但排序后的映射使用其 compareTo(或比較)方法執(zhí)行所有鍵比較,所以兩個 從排序映射的角度來看,此方法認(rèn)為相等的鍵是相等的。 已排序映射的行為是明確定義的,即使它的排序與 equals 不一致; 它只是不遵守 Map 接口的一般合同。
請注意,此實現(xiàn)不同步。 如果多個線程同時訪問一個映射,并且至少有一個線程在結(jié)構(gòu)上修改了映射,則必須在外部進行同步。 (結(jié)構(gòu)修改是添加或刪除一個或多個映射的任何操作;僅更改與現(xiàn)有鍵關(guān)聯(lián)的值不是結(jié)構(gòu)修改。)這通常通過同步一些自然封裝映射的對象來完成。 如果不存在這樣的對象,則應(yīng)使用 Collections#synchronizedSortedMap 方法“包裝” map。 這最好在創(chuàng)建時完成,以防止對地圖的意外不同步訪問:
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
由此類的所有“集合視圖方法”返回的集合的迭代器方法返回的迭代器是快速失敗的:如果在創(chuàng)建迭代器后的任何時間對映射進行結(jié)構(gòu)修改,除了通過迭代器自己的刪除之外的任何方式 方法,迭代器將拋出 ConcurrentModificationException。 因此,面對并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時間冒任意的、非確定性的行為。
請注意,不能保證迭代器的快速失敗行為,因為一般來說,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個依賴于這個異常的正確性的程序是錯誤的:迭代器的快速失敗行為應(yīng)該只用于檢測錯誤。
此類中的方法及其視圖返回的所有 Map.Entry 對都表示映射在生成時的快照。 它們不支持 Entry.setValue 方法。 (但請注意,可以使用 put 更改關(guān)聯(lián)映射中的映射。)
此類是 Java 集合框架的成員。
從類 java.util.AbstractMap 繼承的嵌套類/接口 |
---|
AbstractMap.SimpleEntryK,V, AbstractMap.SimpleImmutableEntryK,V |
從接口 java.util.Map 繼承的嵌套類/接口 |
---|
Map.EntryK,V |
構(gòu)造函數(shù) | 描述 |
---|---|
TreeMap() | 使用其鍵的自然順序構(gòu)造一個新的空樹映射。 |
TreeMap(Comparator<? super K> comparator) | 構(gòu)造一個新的空樹映射,根據(jù)給定的比較器排序。 |
TreeMap(Map<? extends K,? extends V> m) | 構(gòu)造一個包含與給定映射相同映射的新樹映射,按照其鍵的自然順序排序。 |
TreeMap(SortedMap<K,? extends V> m) | 構(gòu)造一個新的樹形圖,其中包含與指定的排序圖相同的映射并使用相同的順序。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
Map.EntryK,V | ceilingEntry(K key) | 返回與大于或等于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。 |
K | ceilingKey(K key) | 返回大于或等于給定鍵的最小鍵,如果沒有這樣的鍵,則返回 null。 |
void | clear() | 從此 map 中刪除所有映射。 |
Object | clone() | 返回此 TreeMap 實例的淺表副本。 |
Comparator<? super K> | comparator() | 返回用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的 Comparable,則返回 null。 |
boolean | containsKey(Object key) | 如果此映射包含指定鍵的映射,則返回 true。 |
boolean | containsValue(Object value) | 如果此映射將一個或多個鍵映射到指定值,則返回 true。 |
NavigableSetK | descendingKeySet() | 返回此映射中包含的鍵的逆序 NavigableSet 視圖。 |
NavigableMapK,V | descendingMap() | 返回此映射中包含的映射的逆序視圖。 |
SetMap.EntryK,V | entrySet() | 返回此映射中包含的映射的 Set 視圖。 |
Map.EntryK,V | firstEntry() | 返回與此映射中的最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
K | firstKey() | 返回此映射中當(dāng)前的第一個(最低)鍵。 |
Map.EntryK,V | floorEntry(K key) | 返回與小于或等于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。 |
K | floorKey(K key) | 返回小于或等于給定鍵的最大鍵,如果沒有這樣的鍵,則返回 null。 |
void | forEach(BiConsumer<? super K,? super V> action) | 對該映射中的每個條目執(zhí)行給定的操作,直到處理完所有條目或該操作引發(fā)異常。 |
V | get(Object key) | 返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 null。 |
SortedMapK,V | headMap(K toKey) | 返回此映射部分的視圖,其鍵嚴(yán)格小于 toKey。 |
NavigableMapK,V | headMap(K toKey, boolean inclusive) | 返回此映射部分的視圖,其鍵小于(或等于,如果 inclusive 為真)toKey。 |
Map.EntryK,V | higherEntry(K key) | 返回與嚴(yán)格大于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。 |
K | higherKey(K key) | 返回嚴(yán)格大于給定鍵的最小鍵,如果沒有這樣的鍵,則返回 null。 |
SetK | keySet() | 返回此映射中包含的鍵的 Set 視圖。 |
Map.EntryK,V | lastEntry() | 返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
K | lastKey() | 返回此映射中當(dāng)前的最后一個(最高)鍵。 |
Map.EntryK,V | lowerEntry(K key) | 返回與嚴(yán)格小于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。 |
K | lowerKey(K key) | 返回嚴(yán)格小于給定鍵的最大鍵,如果沒有這樣的鍵,則返回 null。 |
NavigableSetK | navigableKeySet() | 返回此地圖中包含的鍵的 NavigableSet 視圖。 |
Map.EntryK,V | pollFirstEntry() | 移除并返回與此映射中最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
Map.EntryK,V | pollLastEntry() | 刪除并返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
V | put(K key, V value) | 將指定的值與此映射中的指定鍵相關(guān)聯(lián)。 |
void | putAll(Map<? extends K,? extends V> map) | 將所有映射從指定映射復(fù)制到此映射。 |
V | remove(Object key) | 如果存在,則從此 TreeMap 中刪除此鍵的映射。 |
V | replace(K key, V value) | 僅當(dāng)當(dāng)前映射到某個值時才替換指定鍵的條目。 |
boolean | replace(K key, V oldValue, V newValue) | 僅當(dāng)當(dāng)前映射到指定值時才替換指定鍵的條目。 |
void | replaceAll(BiFunction<? super K,? super V,? extends V> function) | 將每個條目的值替換為對該條目調(diào)用給定函數(shù)的結(jié)果,直到所有條目都已處理或該函數(shù)引發(fā)異常。 |
int | size() | 返回此映射中鍵值映射的數(shù)量。 |
NavigableMapK,V | subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) | 返回此映射部分的視圖,其鍵范圍從 fromKey 到 toKey。 |
SortedMapK,V | subMap(K fromKey, K toKey) | 返回此映射部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)。 |
SortedMapK,V | tailMap(K fromKey) | 返回此地圖部分的視圖,其鍵大于或等于 fromKey。 |
NavigableMapK,V | tailMap(K fromKey, boolean inclusive) | 返回此映射部分的視圖,其鍵大于(或等于,如果 inclusive 為 true)fromKey。 |
CollectionV | values() | 返回此映射中包含的值的集合視圖。 |
從類 java.util.AbstractMap 繼承的方法 |
---|
equals, hashCode, isEmpty, toString |
從接口 java.util.Map 繼承的方法 |
---|
compute, computeIfAbsent, computeIfPresent, equals, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove |
從類 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
public TreeMap()
使用其鍵的自然順序構(gòu)造一個新的空樹映射。 插入映射的所有鍵都必須實現(xiàn) Comparable 接口。 此外,所有此類鍵必須相互比較:k1.compareTo(k2) 不得為映射中的任何鍵 k1 和 k2 拋出 ClassCastException。 如果用戶嘗試將違反此約束的鍵放入映射中(例如,用戶嘗試將字符串鍵放入鍵為整數(shù)的映射中),則 put(Object key, Object value) 調(diào)用將拋出 ClassCastException .
public TreeMap(Comparator<? super K> comparator)
構(gòu)造一個新的空樹映射,根據(jù)給定的比較器排序。 插入到映射中的所有鍵必須通過給定的比較器相互比較:comparator.compare(k1, k2) 不能為映射中的任何鍵 k1 和 k2 拋出 ClassCastException。 如果用戶試圖將違反此約束的鍵放入映射中,則 put(Object key, Object value) 調(diào)用將拋出 ClassCastException。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
comparator | 將用于訂購此地圖的比較器。 如果為 null,則將使用鍵的 Comparable。 |
public TreeMap(Map<? extends K,? extends V> m)
構(gòu)造一個包含與給定映射相同映射的新樹映射,按照其鍵的自然順序排序。 插入新映射的所有鍵都必須實現(xiàn) Comparable 接口。 此外,所有此類鍵必須相互比較:k1.compareTo(k2) 不得為映射中的任何鍵 k1 和 k2 拋出 ClassCastException。 此方法在 n*log(n) 時間內(nèi)運行。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
m | 其映射將放置在此 map 中的 map |
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 m 中的鍵不可比較,或者不可相互比較 |
NullPointerException | 如果指定的 map 為空 |
public TreeMap(SortedMap<K,? extends V> m)
構(gòu)造一個新的樹形圖,其中包含與指定的排序圖相同的映射并使用相同的順序。 此方法以線性時間運行。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
m | 已排序的映射,其映射將放置在此映射中,并且其比較器將用于對此映射進行排序 |
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果指定的 map 為空 |
public int size()
返回此映射中鍵值映射的數(shù)量。
指定者:
接口 MapK,V 中的大小
覆蓋:
AbstractMapK,V 類中的大小
返回:
此映射中的鍵值映射的數(shù)量
public boolean containsKey(Object key)
如果此映射包含指定鍵的映射,則返回 true。
指定者:
containsKey 在接口 MapK,V
覆蓋:
類 AbstractMapK,V 中的 containsKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要測試此 map 中是否存在的鍵 |
返回:
如果此映射包含指定鍵的映射,則為 true
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public boolean containsValue(Object value)
如果此映射將一個或多個鍵映射到指定值,則返回 true。 更正式地說,當(dāng)且僅當(dāng)此映射包含至少一個到值 v 的映射時才返回 true,使得 (value==null ? v==null : value.equals(v))。 對于大多數(shù)實現(xiàn),此操作可能需要 map 大小的線性時間。
指定者:
接口 MapK,V 中的 containsValue
覆蓋:
類 AbstractMapK,V 中的 containsValue
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
value | 要測試其在此映射中的存在的值 |
返回:
如果存在到值的映射,則為 true; 否則為 false
public V get(Object key)
返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 null。
更正式地說,如果此映射包含從鍵 k 到值 v 的映射,使得鍵根據(jù)映射的順序比較等于 k,則此方法返回 v; 否則返回null。 (最多可以有一個這樣的映射。)
返回值為 null 并不一定表示該映射不包含該鍵的映射; 映射也可能將鍵顯式映射為空。 containsKey 操作可用于區(qū)分這兩種情況。
指定者:
進入接口 MapK,V
覆蓋:
進入類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要返回其關(guān)聯(lián)值的鍵 |
返回:
指定鍵映射到的值,如果此映射不包含該鍵的映射,則為 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public Comparator<? super K> comparator()
從接口復(fù)制的描述:SortedMap
返回用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的 Comparable,則返回 null。
指定者:
接口 SortedMapK,V 中的比較器
返回:
用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的自然排序,則為 null
public K firstKey()
從接口復(fù)制的描述:SortedMap
返回此映射中當(dāng)前的第一個(最低)鍵。
指定者:
接口 SortedMapK,V 中的 firstKey
返回:
當(dāng)前此 map 中的第一個(最低)鍵
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果這個 map 是空的 |
public K lastKey()
從接口復(fù)制的描述:SortedMap
返回此映射中當(dāng)前的最后一個(最高)鍵。
指定者:
接口 SortedMapK,V 中的 lastKey
返回:
當(dāng)前在此 map 中的最后一個(最高)鍵
Throws:
Throw名稱 | Throw描述 |
---|---|
NoSuchElementException | 如果這個 map 是空的 |
public void putAll(Map<? extends K,? extends V> map)
將所有映射從指定映射復(fù)制到此映射。 這些映射替換此映射對當(dāng)前指定映射中的任何鍵的任何映射。
指定者:
putAll在接口MapK,V中
覆蓋:
putAll 在類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
map | 要存儲在此 map 中的映射 |
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定映射中的鍵或值的類阻止它存儲在此映射中 |
NullPointerException | 如果指定的映射為空或指定的映射包含空鍵并且此映射不允許空鍵 |
public V put(K key, V value)
將指定的值與此映射中的指定鍵相關(guān)聯(lián)。 如果映射先前包含鍵的映射,則替換舊值。
指定者:
放入接口 MapK,V
覆蓋:
放入類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 與指定鍵關(guān)聯(lián)的值 |
返回:
與 key 關(guān)聯(lián)的前一個值,如果沒有 key 映射,則返回 null。 (返回 null 還可以指示映射先前將 null 與 key 關(guān)聯(lián)。)
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public V remove(Object key)
如果存在,則從此 TreeMap 中刪除此鍵的映射。
指定者:
在接口 MapK,V 中刪除
覆蓋:
在類 AbstractMapK,V 中刪除
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 應(yīng)該刪除映射的鍵 |
返回:
與 key 關(guān)聯(lián)的前一個值,如果沒有 key 映射,則返回 null。 (返回 null 還可以指示映射先前將 null 與 key 關(guān)聯(lián)。)
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public void clear()
從此 map 中刪除所有映射。 此調(diào)用返回后,map 將為空。
指定者:
在界面 MapK,V 中清除
覆蓋:
在類 AbstractMapK,V 中清除
public Object clone()
返回此 TreeMap 實例的淺表副本。 (鍵和值本身不會被克隆。)
覆蓋:
在類 AbstractMapK,V 中克隆
返回:
這張 map 的淺拷貝
public Map.EntryK,V firstEntry()
從接口復(fù)制的描述:NavigableMap
返回與此映射中的最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
指定者:
接口 NavigableMapK,V 中的 firstEntry
返回:
具有最少鍵的條目,如果此映射為空,則為 null
public Map.EntryK,V lastEntry()
從接口復(fù)制的描述:NavigableMap
返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
指定者:
接口 NavigableMapK,V 中的 lastEntry
返回:
具有最大鍵的條目,如果此映射為空,則返回 null
public Map.EntryK,V pollFirstEntry()
從接口復(fù)制的描述:NavigableMap
移除并返回與此映射中最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
指定者:
接口 NavigableMapK,V 中的 pollFirstEntry
返回:
此映射的已刪除第一個條目,如果此映射為空,則返回 null
public Map.EntryK,V pollLastEntry()
從接口復(fù)制的描述:NavigableMap
刪除并返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
指定者:
接口 NavigableMapK,V 中的 pollLastEntry
返回:
此映射的已刪除最后一個條目,如果此映射為空,則返回 null
public Map.EntryK,V lowerEntry(K key)
從接口復(fù)制的描述:NavigableMap
返回與嚴(yán)格小于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 lowerEntry
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最大鍵小于鍵的條目,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public K lowerKey(K key)
從接口復(fù)制的描述:NavigableMap
返回嚴(yán)格小于給定鍵的最大鍵,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 lowerKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
小于 key 的最大鍵,如果沒有這樣的鍵,則為 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public Map.EntryK,V floorEntry(K key)
從接口復(fù)制的描述:NavigableMap
返回與小于或等于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 floorEntry
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最大鍵小于或等于鍵的條目,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public K floorKey(K key)
從接口復(fù)制的描述:NavigableMap
返回小于或等于給定鍵的最大鍵,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 floorKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
小于或等于 key 的最大鍵,如果沒有這樣的鍵,則為 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public Map.EntryK,V ceilingEntry(K key)
從接口復(fù)制的描述:NavigableMap
返回與大于或等于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 ceilingEntry
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
具有大于或等于 key 的最小鍵的條目,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public K ceilingKey(K key)
從接口復(fù)制的描述:NavigableMap
返回大于或等于給定鍵的最小鍵,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的 ceilingKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
大于或等于 key 的最小鍵,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public Map.EntryK,V higherEntry(K key)
從接口復(fù)制的描述:NavigableMap
返回與嚴(yán)格大于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的更高條目
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最小鍵大于鍵的條目,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public K higherKey(K key)
從接口復(fù)制的描述:NavigableMap
返回嚴(yán)格大于給定鍵的最小鍵,如果沒有這樣的鍵,則返回 null。
指定者:
接口 NavigableMapK,V 中的higherKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
大于 key 的最小鍵,如果沒有這樣的鍵,則返回 null
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無法與 map 中當(dāng)前的鍵進行比較 |
NullPointerException | 如果指定的鍵為空并且此映射使用自然排序,或者它的比較器不允許空鍵 |
public SetK keySet()
返回此映射中包含的鍵的 Set 視圖。
集合的迭代器按升序返回鍵。該集合的拆分器是后期綁定的、快速失敗的,并且另外報告 Spliterator#SORTED 和 Spliterator#ORDERED 的遇到順序是升序鍵順序。如果樹形圖的比較器(請參閱比較器())為空,則拆分器的比較器(請參閱 Spliterator.getComparator())為空。否則,拆分器的比較器與樹形圖的比較器相同或施加相同的總排序。
集合由 map 支持,因此對 map 的更改會反映在集合中,反之亦然。如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 keySet
指定者:
接口 SortedMapK,V 中的 keySet
覆蓋:
AbstractMapK,V 類中的 keySet
返回:
此 map 中包含的鍵的集合視圖
public NavigableSetK navigableKeySet()
從接口復(fù)制的描述:NavigableMap
返回此 map 中包含的鍵的 NavigableSet 視圖。 集合的迭代器按升序返回鍵。 集合由 map 支持,因此對 map 的更改會反映在集合中,反之亦然。 如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 NavigableMapK,V 中的 navigableKeySet
返回:
此 map 中鍵的可導(dǎo)航集視圖
public NavigableSetK descendingKeySet()
從接口復(fù)制的描述:NavigableMap
返回此映射中包含的鍵的逆序 NavigableSet 視圖。 該集合的迭代器按降序返回鍵。 集合由 map 支持,因此對 map 的更改會反映在集合中,反之亦然。 如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 NavigableMapK,V 中的 descendingKeySet
返回:
此 map 中鍵的反向可導(dǎo)航集視圖
public CollectionV values()
返回此映射中包含的值的集合視圖。
集合的迭代器按相應(yīng)鍵的升序返回值。集合的拆分器是后期綁定的,快速失敗的,并且另外報告 Spliterator#ORDERED 遇到的順序是相應(yīng)鍵的升序。
集合由 map 支持,因此對 map 的更改會反映在集合中,反之亦然。如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。該集合支持元素移除,即通過 Iterator.remove、Collection.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的值
指定者:
接口 SortedMapK,V 中的值
覆蓋:
AbstractMapK,V 類中的值
返回:
此 map 中包含的值的集合視圖
public SetMap.EntryK,V entrySet()
返回此映射中包含的映射的 Set 視圖。
集合的迭代器以升序鍵順序返回條目。集合的拆分器是后期綁定的、快速失敗的,并且另外報告 Spliterator#SORTED 和 Spliterator#ORDERED 的遇到順序是升序鍵順序。
集合由 map 支持,因此對 map 的更改會反映在集合中,反之亦然。如果在對集合進行迭代時修改了映射(除了通過迭代器自己的刪除操作,或通過迭代器返回的映射條目上的 setValue 操作),則迭代的結(jié)果是未定義的。該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 entrySet
指定者:
接口 SortedMapK,V 中的 entrySet
指定者:
AbstractMapK,V 類中的 entrySet
返回:
此 map 中包含的映射的集合視圖
public NavigableMapK,V descendingMap()
從接口復(fù)制的描述:NavigableMap
返回此映射中包含的映射的逆序視圖。 下降映射由該映射支持,因此對映射的更改會反映在下降映射中,反之亦然。 如果在對任一映射的集合視圖進行迭代時修改了任一映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是未定義的。
返回的映射具有等價于 Collections#reverseOrder(Comparator)(comparator()) 的排序。 表達式 m.descendingMap().descendingMap() 返回一個 m 的視圖,基本上等同于 m。
指定者:
接口 NavigableMapK,V 中的 descendingMap
返回:
此 map 的逆序視圖
public NavigableMapK,V subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
從接口復(fù)制的描述:NavigableMap
返回此映射部分的視圖,其鍵范圍從 fromKey 到 toKey。 如果 fromKey 和 toKey 相等,則返回的映射為空,除非 fromInclusive 和 toInclusive 都為 true。 返回的 map 由該 map 支持,因此返回 map 中的更改會反映在該 map 中,反之亦然。 返回的 map 支持該 map 支持的所有可選 map 操作。
返回的映射將在嘗試插入超出其范圍的鍵或構(gòu)造其端點位于其范圍之外的子映射時拋出 IllegalArgumentException。
指定者:
接口 NavigableMapK,V 中的 subMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點 |
fromInclusive | 如果要在返回的視圖中包含低端點,則為 true |
toKey | 返回映射中鍵的高端點 |
toInclusive | 如果要在返回的視圖中包含高端端點,則為 true |
返回:
此 map 部分的視圖,其鍵范圍從 fromKey 到 toKey
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 和 toKey 無法使用此映射的比較器相互比較(或者,如果映射沒有比較器,則使用自然排序)。 如果無法將 fromKey 或 toKey 與映射中當(dāng)前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 或 toKey 為 null 并且此映射使用自然排序,或者其比較器不允許 null 鍵 |
IllegalArgumentException | 如果 fromKey 大于 toKey; 或者如果此地圖本身具有限制范圍,并且 fromKey 或 toKey 位于范圍的范圍之外 |
public NavigableMapK,V headMap(K toKey, boolean inclusive)
從接口復(fù)制的描述:NavigableMap
返回此映射部分的視圖,其鍵小于(或等于,如果 inclusive 為 true)toKey。 返回的 map 由該 map 支持,因此返回 map 中的更改會反映在該 map 中,反之亦然。 返回的 map 支持該 map 支持的所有可選 map 操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
指定者:
接口 NavigableMapK,V 中的 headMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
toKey | 返回映射中鍵的高端點 |
inclusive | 如果要在返回的視圖中包含高端端點,則為 true |
返回:
此 map 部分的視圖,其鍵小于(或等于,如果 inclusive 為 true)toKey
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 toKey 與此 map 的比較器不兼容(或者,如果 map 沒有比較器,如果 toKey 沒有實現(xiàn) Comparable)。 如果 toKey 無法與地圖中當(dāng)前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 toKey 為空且此映射使用自然排序,或者其比較器不允許空鍵 |
IllegalArgumentException | 如果此 map 本身具有受限范圍,并且 toKey 位于范圍之外 |
public NavigableMapK,V tailMap(K fromKey, boolean inclusive)
從接口復(fù)制的描述:NavigableMap
返回此映射部分的視圖,其鍵大于(或等于,如果 inclusive 為 true)fromKey。 返回的 map 由該 map 支持,因此返回 map 中的更改會反映在該 map 中,反之亦然。 返回的 map 支持該 map 支持的所有可選 map 操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
指定者:
接口 NavigableMapK,V 中的 tailMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點 |
inclusive | 如果要在返回的視圖中包含低端點,則為 true |
返回:
此 map 部分的視圖,其鍵大于(或等于,如果 inclusive 為 true)fromKey
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 與此映射的比較器不兼容(或者,如果映射沒有比較器,如果 fromKey 未實現(xiàn) Comparable)。 如果無法將 fromKey 與當(dāng)前映射中的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 為 null 并且此映射使用自然排序,或者它的比較器不允許 null 鍵 |
IllegalArgumentException | 如果此 map 本身具有限制范圍,并且 fromKey 位于范圍范圍之外 |
public SortedMapK,V subMap(K fromKey, K toKey)
從接口復(fù)制的描述:NavigableMap
返回此映射部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)。 (如果 fromKey 和 toKey 相等,則返回的映射為空。)返回的映射受此映射的支持,因此返回映射中的更改會反映在此映射中,反之亦然。 返回的地圖支持該地圖支持的所有可選地圖操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
等價于 subMap(fromKey, true, toKey, false)。
指定者:
接口 NavigableMapK,V 中的 subMap
指定者:
接口 SortedMapK,V 中的 subMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(包括) |
toKey | 返回映射中鍵的高端(不包括) |
返回:
此 map 部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 和 toKey 無法使用此映射的比較器相互比較(或者,如果映射沒有比較器,則使用自然排序)。 如果無法將 fromKey 或 toKey 與映射中當(dāng)前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 或 toKey 為 null 并且此映射使用自然排序,或者其比較器不允許 null 鍵 |
IllegalArgumentException | 如果 fromKey 大于 toKey; 或者如果此 map 本身具有限制范圍,并且 fromKey 或 toKey 位于范圍的范圍之外 |
public SortedMapK,V headMap(K toKey)
從接口復(fù)制的描述:NavigableMap
返回此映射部分的視圖,其鍵嚴(yán)格小于 toKey。 返回的 map 由該 map 支持,因此返回 map 中的更改會反映在該 map 中,反之亦然。 返回的 map 支持該 map 支持的所有可選 map 操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
等效于 headMap(toKey, false)。
指定者:
接口 NavigableMapK,V 中的 headMap
指定者:
接口 SortedMapK,V 中的 headMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
toKey | 返回映射中鍵的高端(不包括) |
返回:
此 map 部分的視圖,其鍵嚴(yán)格小于 toKey
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 toKey 與此 map 的比較器不兼容(或者,如果 map 沒有比較器,如果 toKey 沒有實現(xiàn) Comparable)。 如果 toKey 無法與 map 中當(dāng)前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 toKey 為空且此映射使用自然排序,或者其比較器不允許空鍵 |
IllegalArgumentException | 如果此 map 本身具有受限范圍,并且 toKey 位于范圍之外 |
public SortedMapK,V tailMap(K fromKey)
從接口復(fù)制的描述:NavigableMap
返回此 map 部分的視圖,其鍵大于或等于 fromKey。 返回的 map 由此 map 支持,因此返回 map 中的更改會反映在此 map 中,反之亦然。 返回的 map 支持該 map 支持的所有可選 map 操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
等價于tailMap(fromKey, true)。
指定者:
接口 NavigableMapK,V 中的 tailMap
指定者:
接口 SortedMapK,V 中的 tailMap
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(包括) |
返回:
此 map 部分的視圖,其鍵大于或等于 fromKey
Throws:
Throw名稱 | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 與此映射的比較器不兼容(或者,如果映射沒有比較器,如果 fromKey 未實現(xiàn) Comparable)。 如果無法將 fromKey 與當(dāng)前映射中的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 為 null 并且此映射使用自然排序,或者它的比較器不允許 null 鍵 |
IllegalArgumentException | 如果此 map 本身具有限制范圍,并且 fromKey 位于范圍范圍之外 |
public boolean replace(K key, V oldValue, V newValue)
從接口復(fù)制的描述:map
僅當(dāng)當(dāng)前映射到指定值時才替換指定鍵的條目。
指定者:
在接口 MapK,V 中替換
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
oldValue | 預(yù)期與指定鍵關(guān)聯(lián)的值 |
newValue | 與指定鍵關(guān)聯(lián)的值 |
返回:
如果值被替換,則為 true
public V replace(K key, V value)
從接口復(fù)制的描述:map
僅當(dāng)當(dāng)前映射到某個值時才替換指定鍵的條目。
指定者:
在接口 MapK,V 中替換
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 與指定鍵關(guān)聯(lián)的值 |
返回:
與指定鍵關(guān)聯(lián)的前一個值,如果鍵沒有映射,則返回 null。 (如果實現(xiàn)支持 null 值,則返回 null 還可以指示映射先前將 null 與鍵關(guān)聯(lián)。)
public void forEach(BiConsumer<? super K,? super V> action)
從接口復(fù)制的描述:map
對該映射中的每個條目執(zhí)行給定的操作,直到處理完所有條目或該操作引發(fā)異常。 除非實現(xiàn)類另有規(guī)定,否則按照條目集迭代的順序執(zhí)行動作(如果指定了迭代順序)。動作拋出的異常將轉(zhuǎn)發(fā)給調(diào)用者。
指定者:
接口 MapK,V 中的 forEach
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
action | 為每個條目執(zhí)行的操作 |
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
從接口復(fù)制的描述:map
將每個條目的值替換為對該條目調(diào)用給定函數(shù)的結(jié)果,直到所有條目都已處理或該函數(shù)引發(fā)異常。 函數(shù)拋出的異常被轉(zhuǎn)發(fā)給調(diào)用者。
指定者:
接口 MapK,V 中的 replaceAll
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
function | 應(yīng)用于每個條目的函數(shù) |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: