Java中的 TreeSet lower() 方法
Java中 TreeSet 类的lower(E ele)方法用于返回该集合中严格小于给定元素的最大元素。如果此 TreeSet 集合中不存在此类元素,则此方法返回 NULL。
这里,E 是这个集合维护的元素的类型。
语法:
public E lower(E ele)
参数:它只需要一个参数ele 。它是确定集合中严格小于该值的最大值的元素。
返回值:它返回一个 E 类型的值,该值为 null 或所需的值。
例外:
- ClassCastException :如果指定的元素无法与集合的元素进行比较,则此方法将引发 ClassCastException。
- NullPointerException :如果给定元素为 null 并且集合使用自然排序或比较器不允许 null 值,则此方法将引发 NullPointerException。
下面的程序说明了 lower() 方法:
程序 1 :
// Java program to illustrate lower() method
// of TreeSet class
import java.util.TreeSet;
public class GFG {
public static void main(String args[])
{
TreeSet tree = new TreeSet();
// Add elements to this TreeSet
tree.add(10);
tree.add(5);
tree.add(8);
tree.add(1);
tree.add(11);
tree.add(3);
System.out.println(tree.lower(15));
}
}
输出:
11
程序 2 (NullPointerException 的演示):
// Java program to illustrate lower() method
// of TreeSet class
import java.util.TreeSet;
public class GFG {
public static void main(String args[])
{
TreeSet tree = new TreeSet();
try {
// Add elements to TreeSet
tree.add("10");
tree.add("5");
tree.add("8");
tree.add("1");
tree.add("11");
tree.add("3");
System.out.println(tree.lower(null));
}
catch (Exception e) {
e.printStackTrace();
}
}
}
输出:
java.lang.NullPointerException
at java.util.TreeMap.compare(TreeMap.java:1294)
at java.util.TreeMap.getLowerEntry(TreeMap.java:494)
at java.util.TreeMap.lowerKey(TreeMap.java:711)
at java.util.TreeSet.lower(TreeSet.java:414)
at GFG.main(GFG.java:20)
程序 3 (ClassCastException 的演示):
// Java program to illustrate lower() method
// of TreeSet class
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.TreeSet;
public class GFG {
public static void main(String args[])
{
TreeSet tree = new TreeSet();
List l1 = new LinkedList();
l1.add(1);
l1.add(2);
tree.add(l1);
List l2 = new LinkedList();
l2.add(3);
l2.add(4);
List l3 = new ArrayList();
l2.add(5);
l2.add(6);
try {
System.out.println(tree.lower(l3));
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Exception in thread "main" java.lang.ClassCastException:
java.util.LinkedList cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(TreeMap.java:1294)
at java.util.TreeMap.put(TreeMap.java:538)
at java.util.TreeSet.add(TreeSet.java:255)
at GFG.main(GFG.java:17)
参考:https: Java/util/TreeSet.html#lower(E)