Java中TreeMap headMap()方法
java.util.TreeMap.headMap( key_point )方法是TreeMap类的方法之一,用于获取所有键值严格小于参数key_value的映射对或映射的部分。所述参数从新准备的treemap中排除。由于集合由映射支持,因此对映射所做的任何更改都会反映在其他映射中,反之亦然。
语法:
sorted_map = old_treemap.headMap(key_point)
参数: 该方法需要一个类型为TreeMap中键值类型的参数key_point,引用的点表示要返回的键值对。
返回值: 该方法返回其键严格小于key_point的treemap的部分。
异常: 该方法有三种类型的异常:
- ClassCastException: 当key_point不兼容或不可比较于映射比较器时,抛出此异常。
- NullPointerException: 当key_point为Null时抛出此异常。
- IllegalArgumentException: 当key_point越界或超出映射范围,抛出此异常。
下面的程序说明了java.util.TreeMap.headMap()方法的使用:
程序1:
//Java代码展示get()方法
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
// 创建一个空的TreeMap
TreeMap<Integer, String> tree_map = new
TreeMap<Integer, String>();
// 将字符串值映射到整数键
tree_map.put(10, "Geeks");
tree_map.put(15, "4");
tree_map.put(20, "Geeks");
tree_map.put(25, "Welcomes");
tree_map.put(30, "You");
// 显示TreeMap
System.out.println("初始树是: " +
tree_map);
// 为map head创建已排序的map
SortedMap<Integer, String> map_head = new
TreeMap<Integer, String>();
map_head = tree_map.headMap(20);
// 获取map head
System.out.println("headmap是: " + map_head);
}
}
初始树是: {10=Geeks, 15=4, 20=Geeks, 25=Welcomes, 30=You}
headmap是: {10=Geeks, 15=4}
程序2:
// Java代码展示get()方法
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
// 创建一个空的TreeMap
TreeMap<String, Integer> tree_map = new
TreeMap<String, Integer>();
// 将整数值映射到字符串键
tree_map.put("Geeks", 10);
tree_map.put("4", 15);
tree_map.put("Geeks", 20);
tree_map.put("Welcomes", 25);
tree_map.put("You", 30);
// 显示TreeMap
System.out.println("初始树是: " +
tree_map);
// 为map head创建已排序的map
SortedMap<String, Integer> map_head = new
TreeMap<String, Integer>();
map_head = tree_map.headMap("You");
// 获取map head
System.out.println("headmap是: " +
map_head);
}
}
初始树是: {4=15, Geeks=20, Welcomes=25, You=30}
headmap是: {4=15, Geeks=20, Welcomes=25}
注意: 使用不同数据类型的变化和组合,可以对任何类型的映射执行相同的操作。