當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。