ConcurrentSkipListSet comparator() 方法在Java中的示例
java.util.concurrent.ConcurrentSkipListSet 的 comparator() 方法是Java中的内置函数,它返回用于对给定集合中的元素排序的比较器。如果使用自然排序,则返回null。
语法:
public Comparator<E> comparator()
这里E是类型参数,即集合所维护的元素类型。
返回值: 该函数返回用于对给定集合中的元素排序的比较器,如果使用自然排序,则返回null。
下面的程序说明了ConcurrentSkipListSet.comparator() 方法:
程序1:
// Java程序演示了ConcurrentSkipListSet的comparator() 方法
//
import java.util.concurrent.*;
class ConcurrentSkipListSetcomparatorExample1 {
public static void main(String[] args)
{
// 创建第一个set对象
ConcurrentSkipListSet<Integer> set1
= new ConcurrentSkipListSet<Integer>();
// 创建第二个set对象
ConcurrentSkipListSet<Integer> set2
= new ConcurrentSkipListSet<Integer>();
// 添加元素到第一个set中
set1.add(30);
set1.add(5);
set1.add(50);
set1.add(20);
// 以降序排序元素
set2 = (ConcurrentSkipListSet<Integer>)
set1.descendingSet();
// 显示set1的内容
System.out.println("set1的内容: "
+ set1);
// 显示set2的内容
System.out.println("set2的内容: "
+ set2);
// 检索用于元素排序的比较器
System.out.println("set中使用的比较器:\n"
+ set2.comparator());
}
}
set1的内容: [5, 20, 30, 50]
set2的内容: [50, 30, 20, 5]
set中使用的比较器: java.util.Collections$ReverseComparator@74a14482
程序2:
// Java程序演示了ConcurrentSkipListSet的comparator() 方法
//
import java.util.concurrent.*;
class ConcurrentSkipListSetcomparatorExample2 {
public static void main(String[] args)
{
// 创建第一个set对象
ConcurrentSkipListSet<Integer> set1
= new ConcurrentSkipListSet<Integer>();
// 添加元素到第一个set中
set1.add(30);
set1.add(5);
set1.add(50);
set1.add(20);
// 显示set1的内容
System.out.println("set1的内容: "
+ set1);
// 检索用于元素排序的比较器
System.out.println("set中使用的比较器: "
+ set1.comparator());
}
}
set1的内容: [5, 20, 30, 50]
set中使用的比较器: null
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentSkipListSet.html#comparator–
极客教程