在本教程中,我們將學(xué)習Java SortedMap接口及其方法。
Java集合框架的SortedMap接口可對存儲在映射中的鍵進行排序。
它繼承了Map接口。
因為SortedMap是一個接口,所以我們不能從它創(chuàng)建對象。
為了使用SortedMap接口的功能,我們需要使用實現(xiàn)它的類TreeMap。
要使用SortedMap,我們必須先導(dǎo)入java.util.SortedMap包。導(dǎo)入包后,可以按照以下方法創(chuàng)建排序后的map。
// SortedMap實現(xiàn)由TreeMap類 SortedMap<Key, Value> numbers = new TreeMap<>();
我們使用TreeMap類創(chuàng)建了一個名為numbers的排序映射。
這里,
Key - 用于關(guān)聯(lián)映射中的每個元素(值)的唯一標識符
Value - map中與鍵相關(guān)聯(lián)的元素
在這里,我們沒有使用任何參數(shù)來創(chuàng)建排序的映射。 因此,映射將自然排序(升序)。
SortedMap接口包含Map接口的所有方法。 這是因為Map是SortedMap的超級接口。
除了所有這些方法之外,這里還有SortedMap接口專用的方法。
comparator() - 返回一個比較器,可用于對映射中的鍵進行排序
firstKey() - 返回已排序映射的第一個鍵
lastKey() - 返回已排序映射的最后一個鍵
headMap(key) - 返回其鍵小于指定鍵key的映射的所有條目
tailMap(key) - 返回其鍵大于或等于指定鍵key的映射的所有條目
subMap(key1,key2) -返回其鍵位于key1和key2之間(包括key1)的映射的所有條目
import java.util.SortedMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //使用TreeMap創(chuàng)建SortedMap SortedMap<String, Integer> numbers = new TreeMap<>(); //插入映射元素 numbers.put("Two", 2); numbers.put("One", 1); System.out.println("SortedMap: " + numbers); //訪問映射的第一個鍵 System.out.println("第一個鍵: " + numbers.firstKey()); //訪問映射的最后一個鍵 System.out.println("最后一個鍵: " + numbers.lastKey()); //從映射中刪除元素 int value = numbers.remove("One"); System.out.println("刪除值: " + value); } }
輸出結(jié)果
SortedMap: {One=1, Two=2} 第一個鍵: One 最后一個鍵: Two 刪除值: 1
要了解更多信息TreeMap,請訪問Java TreeMap。
既然我們了解SortedMap接口,我們將使用TreeMap類學(xué)習其實現(xiàn)。