Java中NavigableMap lowerKey()方法
NavigableMap接口的lowerKey()方法用于返回严格小于给定参数键的最大键。换句话说,此方法用于查找参数后的下一个最大元素。
语法:
public K NavigableMap.lowerKey(K key)
参数:该方法带有一个参数键,它是要匹配的键。
返回值: 该方法返回严格小于键的最大键或null(如果不存在这样的键)。
异常: 该方法可能引发以下异常:
- ClassCastException :指定键无法与Map中可用的键进行比较时。
- NullPointerException :当Map中的指定键为空并且使用自然顺序(即比较器不允许null键)时。
以下程序演示了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<Integer, String>
navMap = new TreeMap<Integer, String>();
// 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<Integer, String>
navMap = new TreeMap<Integer, String>();
// 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
极客教程