当前位置: 首页>>代码示例>>用法及示例精选>>正文


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<Integer> tree = new TreeSet<Integer>(); 
  
        // 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<String> tree = new TreeSet<String>(); 
  
        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<List> tree = new TreeSet<List>(); 
  
        List<Integer> l1 = new LinkedList<Integer>(); 
        l1.add(1); 
        l1.add(2); 
        tree.add(l1); 
  
        List<Integer> l2 = new LinkedList<Integer>(); 
        l2.add(3); 
        l2.add(4); 
  
        List<Integer> l3 = new ArrayList<Integer>(); 
        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://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html#lower(E)



相关用法

注:本文由纯净天空筛选整理自psil123大神的英文原创作品 TreeSet lower() method in Java。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。