Java中SortedMap subMap()方法
Java中SortedMap接口的subMap()方法用于返回键从fromKey(包括)到toKey(不包括)范围内的该映射的部分视图。
- 此方法返回的映射由此映射支持,因此返回映射中的更改会反映在此映射中,反之亦然。
- 此方法返回的映射支持此映射支持的所有可选映射操作。
注意 :如果尝试在其范围之外插入键,则此方法返回的映射将抛出IllegalArgumentException 。
语法 :
SortedMap<K, V> subMap(K fromKey,
K toKey)
其中,K是此Set维护的键的类型,V是与Key关联的值的类型。
参数 :此函数接受两个参数fromKey和toKey,分别表示返回的地图中键的低端点(包括)和高端点(独占)。
返回值 :返回键从fromKey到toKey范围内的该映射的部分视图。
异常 :
- ClassCastException :如果参数fromKey与此映射的比较器不兼容(或如果该映射没有比较器,则fromKey不实现Comparable)。
- NullPointerException :如果参数fromKey为null并且此映射不允许空键。
- IllegalArgumentException :如果此映射本身具有受限范围,并且fromKey位于范围的边界之外
以下程序说明上述方法的用法:
程序1 :
//演示SortedSet的工作
import java.util.*;
public class Main {
public static void main(String[] args)
{
//创建TreeSet并插入元素
SortedMap<Integer, String> mp = new TreeMap<>();
//将元素添加到SortedSet中
mp.put(1, "One");
mp.put(2, "Two");
mp.put(3, "Three");
mp.put(4, "Four");
mp.put(5, "Five");
//返回键范围
//在2和5之间
System.out.print("Elements in range from 2 to 5 in the map is : "
+ mp.subMap(2, 5));
}
}
Elements in range from 2 to 5 in the map is : {2=Two, 3=Three, 4=Four}
程序2 :
//演示SortedSet的工作
import java.util.*;
public class Main {
public static void main(String[] args)
{
//创建TreeSet并插入元素
SortedMap<String, String> mp = new TreeMap<>();
//将元素添加到SortedSet中
mp.put("One", "Geeks");
mp.put("Two", "For");
mp.put("Three", "Geeks");
mp.put("Four", "Code");
mp.put("Five", "It");
//返回D到Z之间的关键范围
System.out.print("Key in range from D to Z in the map is : "
+ mp.subMap("D", "Z"));
}
}
Key in range from D to Z in the map is : {Five=It, Four=Code, One=Geeks, Three=Geeks, Two=For}
参考 :https://docs.oracle.com/javase/10/docs/api/java/util/SortedMap.html#subMap(K)
极客教程