📜  Java中的Java .util.TreeMap.descendingMap()和descendingKeyset()

📅  最后修改于: 2022-05-13 01:54:38.824000             🧑  作者: Mango

Java中的Java .util.TreeMap.descendingMap()和descendingKeyset()

Java.util.TreeMap 中有两种descending() 的变体,本文将讨论这两种变体。 1. descendingKeySet() :它返回地图中包含的键的逆序 Navigable Set 视图

Syntax : 
public NavigableSet descendingKeySet()
Parameters:
NA
Return Value:
It returns a reverse order navigable set view of the keys in this map.
Exception:
NA

// Java code to demonstrate the working
// descendingKeySet()
import java.io.*;
import java.util.*;
public class descendingKeySet1 {
public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap treemap = new TreeMap();
  
        // assigning the values in the tree map
        // using put()
        treemap.put(2, "two");
        treemap.put(0, "zero");
        treemap.put(3, "three");
        treemap.put(6, "six");
        treemap.put(9, "nine");
        treemap.put(7, "seven");
  
        // putting values in navigable set
        // use of descendingKeySet
        NavigableSet set1 = treemap.descendingKeySet();
  
        System.out.println("Navigable set values are: " + set1);
    }
}

输出:

Navigable set values are: [9, 7, 6, 3, 2, 0]

2. descendingMap() :它返回映射中包含的映射的逆序视图

Syntax : 
public NavigableMap descendingMap()
Parameters:
NA
Return Value
It returns a reverse order view of the map.
Exception:
NA

// Java code to demonstrate the working
// of descendingMap()
import java.io.*;
import java.util.*;
public class descendingMap {
public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap treemap = new TreeMap();
  
        // assigning the values in the tree map
        // using put()
        treemap.put(2, "two");
        treemap.put(0, "zero");
        treemap.put(3, "three");
        treemap.put(6, "six");
        treemap.put(9, "nine");
        treemap.put(7, "seven");
  
        // putting values in navigable map
        // use of descendingMap()
        NavigableMap map1 = treemap.descendingMap();
  
        System.out.println("Navigable map values are: " + map1);
    }
}

输出:

Navigable map values are: {9=nine, 7=seven, 6=six, 3=three, 2=two, 0=zero}

实际应用:本文介绍的降序函数有许多可能的应用。其中一些是优先级调度,或设计一个排名系统。后一个在下面的代码中演示。

// Java code to demonstrate the application
// of descendingMap() and descendingKetSet()
import java.io.*;
import java.util.*;
public class descendingAppli {
public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        // to store participants info of scores with name
        TreeMap participants = new TreeMap();
  
        // assigning score of participants
        // using put()
        participants.put(30, "Ashty");
        participants.put(45, "Shavi");
        participants.put(16, "Vaish");
        participants.put(15, "Kil");
        participants.put(11, "Manju");
  
        // putting ranks in NavigableMap
        // use of descendingMap() to assign 1st to
        // maximum values and so on
        NavigableMap Ranks = participants.descendingMap();
  
        System.out.println("The ranks according to scores are : ");
  
        // Printing values rankwise
        int count = 0;
        for (NavigableMap.Entry entry : Ranks.entrySet()) {
            count++;
            String str = Integer.toString(count);
            System.out.println("Rank " + str + ": " + entry.getValue());
        }
    }
}

输出:

The ranks according to scores are : 
Rank 1: Shavi
Rank 2: Ashty
Rank 3: Vaish
Rank 4: Kil
Rank 5: Manju