新聞中心
SortedMap

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,宣威網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:宣威等地區(qū)。宣威做網(wǎng)站價格咨詢:18980820575
public interface SortedMap
extends Map 進一步提供對其鍵的總排序的 Map。 映射根據(jù)其鍵的 Comparable 或通常在排序映射創(chuàng)建時提供的 Comparator 進行排序。 此順序在遍歷已排序地圖的集合視圖(由 entrySet、keySet 和 values 方法返回)時反映出來。 提供了幾個額外的操作來利用排序。 (此接口是 SortedSet 的映射類似物。)
插入排序映射的所有鍵都必須實現(xiàn) Comparable 接口(或被指定的比較器接受)。 此外,所有這些鍵必須是相互可比較的:k1.compareTo(k2)(或comparator.compare(k1, k2))不得為排序映射中的任何鍵k1 和k2 拋出ClassCastException。 嘗試違反此限制將導(dǎo)致有問題的方法或構(gòu)造函數(shù)調(diào)用拋出 ClassCastException。
請注意,如果有序映射要正確實現(xiàn) Map 接口,則有序映射維護的排序(無論是否提供顯式比較器)必須與 equals 一致。 (參見 Comparable 接口或 Comparator 接口,了解與 equals 一致的精確定義。)這是因為 Map 接口是根據(jù) equals 操作定義的,但排序后的映射使用其 compareTo(或 compare)方法執(zhí)行所有鍵比較 ,因此從排序映射的角度來看,此方法認為相等的兩個鍵是相等的。 樹形圖的行為是明確定義的,即使它的排序與等號不一致; 它只是不遵守 Map 接口的一般合同。
所有通用的排序地圖實現(xiàn)類都應(yīng)該提供四個“標準”構(gòu)造函數(shù)。 盡管無法通過接口指定所需的構(gòu)造函數(shù),但無法強制執(zhí)行此建議。 所有排序地圖實現(xiàn)的預(yù)期“標準”構(gòu)造函數(shù)是:
- 一個 void(無參數(shù))構(gòu)造函數(shù),它創(chuàng)建一個空的排序映射,根據(jù)其鍵的自然順序排序。
- 具有 Comparator 類型的單個參數(shù)的構(gòu)造函數(shù),它創(chuàng)建根據(jù)指定比較器排序的空排序映射。
- 具有 Map 類型的單個參數(shù)的構(gòu)造函數(shù),它創(chuàng)建一個具有與其參數(shù)相同的鍵值映射的新映射,并根據(jù)鍵的自然順序進行排序。
- 帶有一個 SortedMap 類型參數(shù)的構(gòu)造函數(shù),它創(chuàng)建一個新的有序映射,它具有與輸入有序映射相同的鍵值映射和相同的順序。
注意:一些方法返回具有受限鍵范圍的子圖。 這樣的范圍是半開的,也就是說,它們包括它們的低端點但不包括它們的高端點(如果適用)。 如果您需要一個封閉范圍(包括兩個端點),并且密鑰類型允許計算給定密鑰的后繼者,則只需請求從 lowEndpoint 到后繼者(highEndpoint)的子范圍。 例如,假設(shè) m 是一個鍵是字符串的映射。 以下習(xí)慣用法獲取包含 m 中所有鍵值映射的視圖,其鍵介于低和高之間,包括:
SortedMap sub = m.subMap(low, high+"\0"); 類似的技術(shù)可用于生成開放范圍(不包含端點)。 以下成語獲取一個視圖,其中包含 m 中的所有鍵值映射,其鍵在低和高之間,互斥:
SortedMap sub = m.subMap(low+"\0", high); 此接口是 Java 集合框架的成員。
嵌套類摘要
| 從接口 java.util.Map 繼承的嵌套類/接口 |
|---|
| Map.EntryK,V |
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| Comparator super K> | comparator() | 返回用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的 Comparable,則返回 null。 |
| Set | entrySet() | 返回此映射中包含的映射的 Set 視圖。 |
| K | firstKey() | 返回此映射中當前的第一個(最低)鍵。 |
| SortedMapK,V | headMap(K toKey) | 返回此映射部分的視圖,其鍵嚴格小于 toKey。 |
| SetK | keySet() | 返回此映射中包含的鍵的 Set 視圖。 |
| K | lastKey() | 返回此映射中當前的最后一個(最高)鍵。 |
| SortedMapK,V | subMap(K fromKey, K toKey) | 返回此映射部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)。 |
| SortedMapK,V | tailMap(K fromKey) | 返回此地圖部分的視圖,其鍵大于或等于 fromKey。 |
| CollectionV | values() | 返回此映射中包含的值的集合視圖。 |
| 從接口 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 |
方法詳情
comparator
Comparator super K> comparator()
返回用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的 Comparable,則返回 null。
返回:
用于對該映射中的鍵進行排序的比較器,如果此映射使用其鍵的自然排序,則為 null
subMap
SortedMapK,V subMap(K fromKey, K toKey)
返回此映射部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)。 (如果 fromKey 和 toKey 相等,則返回的映射為空。)返回的映射受此映射的支持,因此返回映射中的更改會反映在此映射中,反之亦然。 返回的地圖支持該地圖支持的所有可選地圖操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| fromKey | 返回映射中鍵的低端點(包括) |
| toKey | 返回映射中鍵的高端(不包括) |
返回:
此map部分的視圖,其鍵范圍從 fromKey(包括)到 toKey(不包括)
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ClassCastException | 如果 fromKey 和 toKey 無法使用此映射的比較器相互比較(或者,如果映射沒有比較器,則使用自然排序)。 如果無法將 fromKey 或 toKey 與映射中當前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
| NullPointerException | 如果 fromKey 或 toKey 為空并且此映射不允許空鍵 |
| IllegalArgumentException | 如果 fromKey 大于 toKey; 或者如果此地圖本身具有限制范圍,并且 fromKey 或 toKey 位于范圍的范圍之外 |
headMap
SortedMapK,V headMap(K toKey)
返回此映射部分的視圖,其鍵嚴格小于 toKey。 返回的地圖由此地圖支持,因此返回地圖中的更改會反映在此地圖中,反之亦然。 返回的地圖支持該地圖支持的所有可選地圖操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| toKey | 返回映射中鍵的高端(不包括) |
返回:
此map部分的視圖,其鍵嚴格小于 toKey
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ClassCastException | 如果 toKey 與此map的比較器不兼容(或者,如果map沒有比較器,如果 toKey 沒有實現(xiàn) Comparable)。 如果 toKey 無法與map中當前的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
| NullPointerException | 如果 toKey 為空并且此映射不允許空鍵 |
| IllegalArgumentException | 如果此map本身具有受限范圍,并且 toKey 位于范圍之外 |
tailMap
SortedMapK,V tailMap(K fromKey)
返回此map部分的視圖,其鍵大于或等于 fromKey。 返回的map由此map支持,因此返回map中的更改會反映在此map中,反之亦然。 返回的map支持該map支持的所有可選map操作。
返回的映射將在嘗試在其范圍之外插入鍵時拋出 IllegalArgumentException。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| fromKey | 返回映射中鍵的低端點(包括) |
返回:
此map部分的視圖,其鍵大于或等于 fromKey
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| ClassCastException | 如果 fromKey 與此映射的比較器不兼容(或者,如果映射沒有比較器,如果 fromKey 未實現(xiàn) Comparable)。 如果無法將 fromKey 與當前映射中的鍵進行比較,則實現(xiàn)可以但不是必須拋出此異常。 |
| NullPointerException | 如果 fromKey 為空且此映射不允許空鍵 |
| IllegalArgumentException | 如果此map本身具有限制范圍,并且 fromKey 位于范圍范圍之外 |
firstKey
K firstKey()
返回此映射中當前的第一個(最低)鍵。
返回:
當前此map中的第一個(最低)鍵
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果這個map是空的 |
lastKey
K lastKey()
返回此映射中當前的最后一個(最高)鍵。
返回:
當前在此map中的最后一個(最高)鍵
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NoSuchElementException | 如果這個map是空的 |
keySet
SetK keySet()
返回此映射中包含的鍵的 Set 視圖。 集合的迭代器按升序返回鍵。 集合由map支持,因此對map的更改會反映在集合中,反之亦然。 如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 keySet
返回:
此映射中包含的鍵的集合視圖,按升序排序
values
CollectionV values()
返回此映射中包含的值的集合視圖。 集合的迭代器按相應(yīng)鍵的升序返回值。 集合由map支持,因此對map的更改會反映在集合中,反之亦然。 如果在對集合進行迭代時修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Collection.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的值
返回:
此映射中包含的值的集合視圖,按升序鍵排序
entrySet
Set
返回此映射中包含的映射的 Set 視圖。 集合的迭代器以升序鍵順序返回條目。 集合由map支持,因此對map的更改會反映在集合中,反之亦然。 如果在對集合進行迭代時修改了映射(除了通過迭代器自己的刪除操作,或通過迭代器返回的映射條目上的 setValue 操作),則迭代的結(jié)果是未定義的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 entrySet
返回:
此映射中包含的映射的集合視圖,按升序鍵排序
網(wǎng)站題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS SortedMap
瀏覽路徑:http://fisionsoft.com.cn/article/dhhpgje.html


咨詢
建站咨詢
