Java ConcurrentSkipListSet floor()方法
java.util.concurrent.ConcurrentSkipListSet 的 floor() 方法是Java中的一个内置函数,它返回这个集合中小于或等于给定元素的最大元素,如果没有这样的元素,则返回null。
语法
ConcurrentSkipListSet.floor(E e)
参数: 该函数接受一个参数e,即要匹配的值。
返回值: 该函数返回小于或等于e的最大元素,如果没有这样的元素,则返回空。
异常: 该函数会抛出以下异常。
- ClassCastException - 如果指定的元素不能与当前集合中的元素进行比较。
- NullPointerException - 如果指定的元素是空的。
下面的程序说明了ConcurrentSkipListSet.floor()方法。
程序1 :
// Java program to demonstrate floor()
// method of ConcurrentSkipListSet
import java.util.concurrent.*;
class ConcurrentSkipListSetFloorExample1 {
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 floor of 20 in the set
System.out.println("The floor of 20 in the set "
+ Lset.floor(20));
// Finding floor of 39 in the set
System.out.println("The floor of 39 in the set "
+ Lset.floor(39));
// Finding floor of 9 in the set
System.out.println("The floor of 10 in the set "
+ Lset.floor(9));
}
}
输出:
The floor of 20 in the set 20
The floor of 39 in the set 30
The floor of 10 in the set null
程序2: 显示floor()中NullPointerException的程序。
// Java program to demonstrate floor()
// method of ConcurrentSkipListSet
import java.util.concurrent.*;
class ConcurrentSkipListSetFloorExample2 {
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);
// Trying to find the floor of null
try {
System.out.println("The floor of null in the set "
+ Lset.floor(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#floor-E-