Java TreeMap headMap()方法
TreeMap类的java.util.TreeMap.headMap( key_point )方法用于获取所有严格小于参数key_value的地图对或部分。所提到的参数被排除在新准备的treemap中。由于集合是由地图支持的,所以对地图的任何改变都会反映在其他地图中,反之亦然。
语法
sorted_map = old_treemap.headMap(key_point)
参数: 该方法需要一个参数key_point,即TreeMap中的键的类型,并指向一个点,直到键值对被返回。
返回值: 该方法返回treemap中键值严格小于key_point的部分。
异常: 该方法会抛出三种类型的异常。
- ClassCastException。 当key_point与地图的比较器不兼容或不相似时,会出现这种异常。
- NullPointerException。 当key-point是空的时候,这个异常被抛出。
- IllegalArgumentException。 当key_point超出边界或超出地图范围的限制时,会抛出这个异常。
下面的程序说明了java.util.TreeMap.headMap()方法的使用:
程序1 :
// Java code to illustrate the get() method
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
// Creating an empty TreeMap
TreeMap<Integer, String> tree_map = new
TreeMap<Integer, String>();
// Mapping string values to int keys
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");
// Displaying the TreeMap
System.out.println("Initial Tree is: " +
tree_map);
// Creating the sorted map for map head
SortedMap<Integer, String> map_head = new
TreeMap<Integer, String>();
map_head = tree_map.headMap(20);
// Getting the map head
System.out.println("The headmap is: " + map_head);
}
}
输出:
Initial Tree is: {10=Geeks, 15=4, 20=Geeks, 25=Welcomes, 30=You}
The headmap is: {10=Geeks, 15=4}
程序2
// Java code to illustrate the get() method
import java.util.*;
public class Tree_Map_Demo {
public static void main(String[] args)
{
// Creating an empty TreeMap
TreeMap<String, Integer> tree_map = new
TreeMap<String, Integer>();
// Mapping int values to string keys
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);
// Displaying the TreeMap
System.out.println("Initial Tree is: " +
tree_map);
// Creating the sorted map for map head
SortedMap<String, Integer> map_head = new
TreeMap<String, Integer>();
map_head = tree_map.headMap("You");
// Getting the map head
System.out.println("The headmap is: " +
map_head);
}
}
输出:
Initial Tree is: {4=15, Geeks=20, Welcomes=25, You=30}
The headmap is: {4=15, Geeks=20, Welcomes=25}
注意: 同样的操作可以通过不同数据类型的变化和组合对任何类型的Mapping进行操作。
极客教程