W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
public interface NavigableMap<K,V>
extends SortedMap<K,V>
使用navigation方法擴(kuò)展的 SortedMap,返回給定搜索目標(biāo)的最接近匹配項(xiàng)。 方法lowerEntry、floorEntry、ceilingEntry和higherEntry分別返回與鍵關(guān)聯(lián)的Map.Entry對(duì)象小于、小于或等于、大于或等于、大于給定鍵,如果沒(méi)有該鍵則返回null。 類(lèi)似地,方法lowerKey、floorKey、ceilingKey 和higherKey 僅返回關(guān)聯(lián)的鍵。 所有這些方法都是為定位而不是遍歷條目而設(shè)計(jì)的。
可以按升序或降序鍵順序訪問(wèn)和遍歷 NavigableMap。 descendingMap 方法返回一個(gè)map視圖,其中所有關(guān)系和方向方法的意義都顛倒了。 上升的操作和視圖的性能可能比下降的快。 方法 subMap、headMap 和 tailMap 與類(lèi)似命名的 SortedMap 方法的不同之處在于接受描述下限和上限是包含還是排除的附加參數(shù)。 任何 NavigableMap 的子圖都必須實(shí)現(xiàn) NavigableMap 接口。
此接口還定義了方法 firstEntry、pollFirstEntry、lastEntry 和 pollLastEntry,它們返回和/或刪除最小和最大映射(如果存在),否則返回 null。
條目返回方法的實(shí)現(xiàn)應(yīng)返回 Map.Entry 對(duì),表示映射在生成時(shí)的快照,因此通常不支持可選的 Entry.setValue 方法。 但是請(qǐng)注意,可以使用 put 方法更改關(guān)聯(lián)映射中的映射。
方法 subMap(K, K)、headMap(K) 和 tailMap(K) 指定返回 SortedMap 以允許對(duì) SortedMap 的現(xiàn)有實(shí)現(xiàn)進(jìn)行兼容改進(jìn)以實(shí)現(xiàn) NavigableMap,但鼓勵(lì)此接口的擴(kuò)展和實(shí)現(xiàn)覆蓋這些方法 返回 NavigableMap。 同樣,可以重寫(xiě) SortedMap.keySet() 以返回 NavigableSet。
此接口是 Java 集合框架的成員。
從接口 java.util.Map 繼承的嵌套類(lèi)/接口 |
---|
Map.Entry<K,V> |
修飾符和類(lèi)型 | 方法 | 描述 |
---|---|---|
Map.Entry<K,V> | ceilingEntry(K key) | 返回與大于或等于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。 |
K | ceilingKey(K key) | 返回大于或等于給定鍵的最小鍵,如果沒(méi)有這樣的鍵,則返回 null。 |
NavigableSetK | descendingKeySet() | 返回此映射中包含的鍵的逆序 NavigableSet 視圖。 |
NavigableMapK,V | descendingMap() | 返回此映射中包含的映射的逆序視圖。 |
Map.EntryK,V | firstEntry() | 返回與此映射中的最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
Map.EntryK,V | floorEntry(K key) | 返回與小于或等于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。 |
K | floorKey(K key) | 返回小于或等于給定鍵的最大鍵,如果沒(méi)有這樣的鍵,則返回 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。 |
Map.EntryK,V | lastEntry() | 返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
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() | 返回此map中包含的鍵的 NavigableSet 視圖。 |
Map.EntryK,V | pollFirstEntry() | 移除并返回與此映射中最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
Map.EntryK,V | pollLastEntry() | 刪除并返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。 |
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) | 返回此map部分的視圖,其鍵大于或等于 fromKey。 |
NavigableMapK,V | tailMap(K fromKey, boolean inclusive) | 返回此映射部分的視圖,其鍵大于(或等于,如果 inclusive 為真)fromKey。 |
從接口 java.util.Map 繼承的方法 |
---|
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size |
從接口 java.util.SortedMap 繼承的方法 |
---|
comparator, entrySet, firstKey, keySet, lastKey, values |
Map.EntryK,V lowerEntry(K key)
返回與嚴(yán)格小于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最大鍵小于鍵的條目,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
K lowerKey(K key)
返回嚴(yán)格小于給定鍵的最大鍵,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
小于 key 的最大鍵,如果沒(méi)有這樣的鍵,則為 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
Map.EntryK,V floorEntry(K key)
返回與小于或等于給定鍵的最大鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最大鍵小于或等于鍵的條目,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
K floorKey(K key)
返回小于或等于給定鍵的最大鍵,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
小于或等于 key 的最大鍵,如果沒(méi)有這樣的鍵,則為 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
Map.EntryK,V ceilingEntry(K key)
返回與大于或等于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
具有大于或等于 key 的最小鍵的條目,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
K ceilingKey(K key)
返回大于或等于給定鍵的最小鍵,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
大于或等于 key 的最小鍵,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
Map.EntryK,V higherEntry(K key)
返回與嚴(yán)格大于給定鍵的最小鍵關(guān)聯(lián)的鍵值映射,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
最小鍵大于鍵的條目,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
K higherKey(K key)
返回嚴(yán)格大于給定鍵的最小鍵,如果沒(méi)有這樣的鍵,則返回 null。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
key | 鍵 |
返回:
大于 key 的最小鍵,如果沒(méi)有這樣的鍵,則返回 null
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果指定的鍵無(wú)法與map中當(dāng)前的鍵進(jìn)行比較 |
NullPointerException | 如果指定的鍵為空并且此映射不允許空鍵 |
Map.EntryK,V firstEntry()
返回與此映射中的最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
返回:
具有最少鍵的條目,如果此映射為空,則為 null
Map.EntryK,V lastEntry()
返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
返回:
具有最大鍵的條目,如果此映射為空,則返回 null
Map.EntryK,V pollFirstEntry()
移除并返回與此映射中最小鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
返回:
此映射的已刪除第一個(gè)條目,如果此映射為空,則返回 null
Map.EntryK,V pollLastEntry()
刪除并返回與此映射中最大鍵關(guān)聯(lián)的鍵值映射,如果映射為空,則返回 null。
返回:
此映射的已刪除最后一個(gè)條目,如果此映射為空,則返回 null
NavigableMapK,V descendingMap()
返回此映射中包含的映射的逆序視圖。 下降映射由該映射支持,因此對(duì)映射的更改會(huì)反映在下降映射中,反之亦然。 如果在對(duì)任一映射的集合視圖進(jìn)行迭代時(shí)修改了任一映射(通過(guò)迭代器自己的刪除操作除外),則迭代的結(jié)果是未定義的。
返回的映射具有等價(jià)于 Collections#reverseOrder(Comparator)(comparator()) 的排序。 表達(dá)式 m.descendingMap().descendingMap() 返回一個(gè) m 的視圖,基本上等同于 m。
返回:
此map的逆序視圖
NavigableSetK navigableKeySet()
返回此map中包含的鍵的 NavigableSet 視圖。 集合的迭代器按升序返回鍵。 集合由map支持,因此對(duì)map的更改會(huì)反映在集合中,反之亦然。 如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過(guò)迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過(guò) Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
返回:
此map中鍵的可導(dǎo)航集視圖
NavigableSetK descendingKeySet()
返回此映射中包含的鍵的逆序 NavigableSet 視圖。 該集合的迭代器按降序返回鍵。 集合由map支持,因此對(duì)map的更改會(huì)反映在集合中,反之亦然。 如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過(guò)迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過(guò) Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
返回:
此map中鍵的反向可導(dǎo)航集視圖
NavigableMapK,V subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
返回此映射部分的視圖,其鍵范圍從 fromKey 到 toKey。 如果 fromKey 和 toKey 相等,則返回的映射為空,除非 fromInclusive 和 toInclusive 都為真。 返回的map由此map支持,因此返回map中的更改會(huì)反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試插入超出其范圍的鍵或構(gòu)造其端點(diǎn)位于其范圍之外的子映射時(shí)拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(diǎn) |
fromInclusive | 如果要在返回的視圖中包含低端點(diǎn),則為 true |
toKey | 返回映射中鍵的高端點(diǎn) |
toInclusive | 如果要在返回的視圖中包含高端端點(diǎn),則為 true |
返回:
此map部分的視圖,其鍵范圍從 fromKey 到 toKey
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 和 toKey 無(wú)法使用此映射的比較器相互比較(或者,如果映射沒(méi)有比較器,則使用自然排序)。 如果無(wú)法將 fromKey 或 toKey 與映射中當(dāng)前的鍵進(jìn)行比較,則實(shí)現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 或 toKey 為空并且此映射不允許空鍵 |
IllegalArgumentException | 如果 fromKey 大于 toKey; 或者如果此map本身具有限制范圍,并且 fromKey 或 toKey 位于范圍的范圍之外 |
NavigableMapK,V headMap(K toKey, boolean inclusive)
返回此映射部分的視圖,其鍵小于(或等于,如果 inclusive 為真)toKey。 返回的map由此map支持,因此返回map中的更改會(huì)反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時(shí)拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
toKey | 返回映射中鍵的高端點(diǎn) |
inclusive | 如果要在返回的視圖中包含高端端點(diǎn),則為 true |
返回:
此map部分的視圖,其鍵小于(或等于,如果 inclusive 為真)toKey
Throws:
Throw名稱(chēng) | 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 位于范圍之外 |
NavigableMapK,V tailMap(K fromKey, boolean inclusive)
返回此映射部分的視圖,其鍵大于(或等于,如果 inclusive 為真)fromKey。 返回的map由此map支持,因此返回map中的更改會(huì)反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時(shí)拋出 IllegalArgumentException。
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(diǎn) |
inclusive | 如果要在返回的視圖中包含低端點(diǎn),則為 true |
返回:
此map部分的視圖,其鍵大于(或等于,如果 inclusive 為真)fromKey
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 與此映射的比較器不兼容(或者,如果映射沒(méi)有比較器,如果 fromKey 未實(shí)現(xiàn) Comparable)。 如果無(wú)法將 fromKey 與當(dāng)前映射中的鍵進(jìn)行比較,則實(shí)現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 為空且此映射不允許空鍵 |
IllegalArgumentException | 如果此map本身具有限制范圍,并且 fromKey 位于范圍范圍之外 |
SortedMapK,V subMap(K fromKey, K toKey)
返回此映射部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)。 (如果 fromKey 和 toKey 相等,則返回的映射為空。)返回的映射受此映射的支持,因此返回映射中的更改會(huì)反映在此映射中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時(shí)拋出 IllegalArgumentException。
等價(jià)于 subMap(fromKey, true, toKey, false)。
指定者:
接口 SortedMapK,V 中的 subMap
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(diǎn)(包括) |
toKey | 返回映射中鍵的高端(不包括) |
返回:
此map部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 和 toKey 無(wú)法使用此映射的比較器相互比較(或者,如果映射沒(méi)有比較器,則使用自然排序)。 如果無(wú)法將 fromKey 或 toKey 與映射中當(dāng)前的鍵進(jìn)行比較,則實(shí)現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 或 toKey 為空并且此映射不允許空鍵 |
IllegalArgumentException | 如果 fromKey 大于 toKey; 或者如果此map本身具有限制范圍,并且 fromKey 或 toKey 位于范圍的范圍之外 |
SortedMapK,V headMap(K toKey)
返回此映射部分的視圖,其鍵嚴(yán)格小于 toKey。 返回的map由此map支持,因此返回map中的更改會(huì)反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時(shí)拋出 IllegalArgumentException。
等效于 headMap(toKey, false)。
指定者:
接口 SortedMapK,V 中的 headMap
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
toKey | 返回映射中鍵的高端(不包括) |
返回:
此map部分的視圖,其鍵嚴(yán)格小于 toKey
Throws:
Throw名稱(chēng) | 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 位于范圍之外 |
SortedMapK,V tailMap(K fromKey)
返回此map部分的視圖,其鍵大于或等于 fromKey。 返回的map由此map支持,因此返回map中的更改會(huì)反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時(shí)拋出 IllegalArgumentException。
等價(jià)于tailMap(fromKey, true)。
指定者:
接口 SortedMapK,V 中的 tailMap
參數(shù):
參數(shù)名稱(chēng) | 參數(shù)描述 |
---|---|
fromKey | 返回映射中鍵的低端點(diǎn)(包括) |
返回:
此map部分的視圖,其鍵大于或等于 fromKey
Throws:
Throw名稱(chēng) | Throw描述 |
---|---|
ClassCastException | 如果 fromKey 與此映射的比較器不兼容(或者,如果映射沒(méi)有比較器,如果 fromKey 未實(shí)現(xiàn) Comparable)。 如果無(wú)法將 fromKey 與當(dāng)前映射中的鍵進(jìn)行比較,則實(shí)現(xiàn)可以但不是必須拋出此異常。 |
NullPointerException | 如果 fromKey 為空且此映射不允許空鍵 |
IllegalArgumentException | 如果此map本身具有限制范圍,并且 fromKey 位于范圍范圍之外 |
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)系方式:
更多建議: