Java ConcurrentSkipListSet higher()方法
java.util.concurrent.ConcurrentSkipListSet 的 higher(E e) 方法是Java中的一个内置函数,它返回这个集合中严格大于给定元素的最小元素,如果没有这样的元素,则返回null。
语法
public E higher(E e)
参数: 该函数接受一个单一参数e,即要匹配的值。
返回值: 该函数返回大于e的最小元素,如果没有这样的元素,则返回空。
异常: 该函数会抛出以下异常。
- ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较。
- NullPointerException - 如果指定的元素是空的。
下面的程序说明了ConcurrentSkipListSet.higher(E e)方法。
程序1 :
// Java program to demonstrate higher()
// method of ConcurrentSkipListSet
import java.util.concurrent.*;
class ConcurrentSkipListSetHigherExample1 {
public static void main(String[] args)
{
// Creating a set object
ConcurrentSkipListSet<Integer>
Lset = new ConcurrentSkipListSet<Integer>();
// Adding elements to this set
for (int i = 10; i <= 50; i += 10)
Lset.add(i);
// Finding higher of 20 in the set
System.out.println("The higher of 20 in the set: "
+ Lset.higher(20));
// Finding higher of 39 in the set
System.out.println("The higher of 39 in the set: "
+ Lset.higher(39));
// Finding higher of 50 in the set
System.out.println("The higher of 50 in the set: "
+ Lset.higher(50));
}
}
输出:
The higher of 20 in the set: 30
The higher of 39 in the set: 40
The higher of 50 in the set: null
程序2: 显示 higher()中NullPointerException的程序。
// Java program to demonstrate higher()
// method of ConcurrentSkipListSet
import java.util.concurrent.*;
class ConcurrentSkipListSetHigherExample1 {
public static void main(String[] args)
{
// Creating a set object
ConcurrentSkipListSet<Integer>
Lset = new ConcurrentSkipListSet<Integer>();
// Adding elements to this set
for (int i = 10; i <= 50; i += 10)
Lset.add(i);
try {
// Trying to find higher of "null" in the set
System.out.println("The higher of null in the set: "
+ Lset.higher(null));
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出:
Exception: java.lang.NullPointerException
参考资料:
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentSkipListSet.html#higher-E-