Java TreeSet descendingSet()方法及示例
java.util.TreeSet <E>类的 descendingSet() 方法用于返回这个集合中所包含的元素的反向顺序视图。降序集合是由这个集合支持的,所以对这个集合的修改会反映在降序集合中,反之亦然。如果在任何一个集合的迭代过程中,任何一个集合被修改了(除了通过迭代器自身的移除操作),那么迭代的结果是未定义的。
返回的集合的排序等同于Collections.reverseOrder(comparator())。表达式s.descendingSet().descendingSet()返回s的视图,本质上等同于s。
语法:
public NavigableSet descendingSet()
返回值: 该方法返回该集合的 倒序视图 。
以下是说明descendingSet()方法的例子
例子1:
// Java program to demonstrate
// descendingSet() method
// for String value
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
// create tree set object
TreeSet<String> treeadd = new TreeSet<String>();
// populate the TreeSet using add() method
treeadd.add("A");
treeadd.add("B");
treeadd.add("C");
treeadd.add("D");
// Print the TreeSet
System.out.println("TreeSet: " + treeadd);
// getting the reverse order view of element
// using descendingSet() method
NavigableSet<String>
treereverse = treeadd.descendingSet();
// getting iterated view of NavigableSet
Iterator<String> iterator = treereverse.iterator();
System.out.println("\nValues using DescendingSet:");
// printing the integrated value
while (iterator.hasNext()) {
System.out.println("Value : "
+ iterator.next());
}
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出
TreeSet: [A, B, C, D]
Values using DescendingSet:
Value : D
Value : C
Value : B
Value : A
例2:
// Java program to demonstrate
// descendingSet() method
// for Integer value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// create tree set object
TreeSet<Integer> treeadd = new TreeSet<Integer>();
// populate the TreeSet using add() method
treeadd.add(10);
treeadd.add(20);
treeadd.add(30);
treeadd.add(40);
// getting the reverse order view of element
// using descendingSet() method
NavigableSet<Integer> treereverse = treeadd.descendingSet();
// getting iterated view of NavigableSet
Iterator<Integer> iterator = treereverse.iterator();
System.out.println("\nValues using DescendingSet:");
// printing the integrated value
while (iterator.hasNext()) {
System.out.println("Value : " + iterator.next());
}
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出
Values using DescendingSet:
Value : 40
Value : 30
Value : 20
Value : 10
极客教程