Java中的NavigableMap lowerKey()方法
NavigableMap 接口的lowerKey()方法用于返回严格小于给定键的最大键,作为参数传递。简单来说,此方法用于查找作为参数传递的元素之后的下一个最大元素。
句法:
public K NavigableMap.lowerKey(K key)
参数:此方法采用强制参数键,这是要匹配的键。
返回值:此方法返回严格小于 to key 的最大 key,如果没有这样的 key,则返回null 。
异常:此方法抛出以下异常:
- ClassCastException :当指定的键无法与 Map 中可用的键进行比较时。
- NullPointerException : 当 map 中的指定键为 null 并且它使用 natural
排序这意味着,比较器不允许空键。
下面的程序说明了 lowerKey() 方法的使用:
示例 1:
// Java program to demonstrate lowerKey() method
import java.util.*;
public class FloorKeyDemo {
public static void main(String args[])
{
// create an empty TreeMap
NavigableMap
navMap = new TreeMap();
// Insert the values
navMap.put(6, "Six");
navMap.put(1, "One");
navMap.put(5, "Five");
navMap.put(3, "Three");
navMap.put(8, "Eight");
navMap.put(10, "Ten");
// Print the Values of TreeMap
System.out.println("TreeMap: " + navMap.toString());
// Get the greatest key mapping of the Map
// As here 9 is not available it returns 8
// because 9 is strictly less than 11, present
System.out.print("Lower Key Entry of Element 9 is: ");
System.out.println(navMap.lowerKey(9));
// Though, 3 is available in the Map
// it returns 1 because this method returns
// strictly less than key according to the specified key
System.out.print("Lower Key Entry of Element 3 is: ");
System.out.println(navMap.lowerKey(3));
}
}
输出:
TreeMap: {1=One, 3=Three, 5=Five, 6=Six, 8=Eight, 10=Ten}
Lower Key Entry of Element 9 is: 8
Lower Key Entry of Element 3 is: 1
示例 2:演示 NullPointerException
// Java program to demonstrate lowerKey() method
import java.util.*;
public class FloorKeyDemo {
public static void main(String args[])
{
// create an empty TreeMap
NavigableMap
navMap = new TreeMap();
// Insert the values
navMap.put(6, "Six");
navMap.put(1, "One");
navMap.put(5, "Five");
navMap.put(3, "Three");
navMap.put(8, "Eight");
navMap.put(10, "Ten");
// Print the Values of TreeMap
System.out.println("TreeMap: " + navMap.toString());
try {
// Passing null as parameter to lowerKey()
// This will throw exception
System.out.println(navMap.lowerKey(null));
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出:
TreeMap: {1=One, 3=Three, 5=Five, 6=Six, 8=Eight, 10=Ten}
Exception: java.lang.NullPointerException