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