📜  Java中的NavigableMap lowerKey()方法

📅  最后修改于: 2022-05-13 01:55:43.444000             🧑  作者: Mango

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