Maison  >  Article  >  Java  >  Itérer sur TreeMap dans l'ordre inverse en Java

Itérer sur TreeMap dans l'ordre inverse en Java

WBOY
WBOYavant
2023-08-21 13:05:061610parcourir

Itérer sur TreeMap dans lordre inverse en Java

TreeMap est une classe de Java Collection Framework, qui implémente l'interface NavigableMap. Il stocke les éléments de la carte dans une structure arborescente et constitue un moyen efficace de stocker les paires clé-valeur dans un ordre trié. En d’autres termes, il renvoie toujours les éléments par ordre croissant. Cependant, Java propose plusieurs méthodes pour parcourir un TreeMap par ordre décroissant. Dans cet article, nous explorerons la méthode de parcours d'un TreeMap dans l'ordre inverse.

Parcourir TreeMap dans l'ordre inverse en Java

Nous imprimerons les éléments d'un TreeMap dans l'ordre inverse en utilisant la méthode suivante :

  • Utilisez la méthode TreeMap.descendingMap()

  • Utilisez la méthode TreeMap.descendingKeySet()

  • Utilisez la méthode Collections.reverseOrder()

Discutons-en un par un avec des exemples de programmes

La traduction chinoise de

Exemple 1

est :

Exemple 1

Dans cet exemple, nous utiliserons la méthode intégrée TreeMap.descendingMap() pour parcourir le TreeMap dans l'ordre inverse. Pour ce faire, nous définissons d'abord un TreeMap, puis stockons ses éléments dans l'ordre inverse dans une autre carte.

import java.util.*;
public class Example1 {
   public static void main(String[] args) {
      // creating a TreeMap 
      TreeMap<String, Integer> TrMap = new TreeMap<>();
      // Adding elements in the map
      TrMap.put("Backpack", 4000);
      TrMap.put("Desktop", 3000);
      TrMap.put("Keypad", 1500);
      TrMap.put("Watch", 2000);
      TrMap.put("Pen drive", 2500);
      // storing the elements of the map in descending order
      Map<String, Integer> newMap = TrMap.descendingMap();
      // printing the details of map 
      System.out.println("Elements of the map in Reverse Order: ");
      // iterating through the map
      for (String unKey : newMap.keySet()) {
         // printing details of map in reverse order
         System.out.println("Item: " + unKey + ", Price: " + newMap.get(unKey));
      }
   }
}

Sortie

Elements of the map in Reverse Order: 
Item: Watch, Price: 2000
Item: Pen drive, Price: 2500
Item: Keypad, Price: 1500
Item: Desktop, Price: 3000
Item: Backpack, Price: 4000
La traduction chinoise de

Exemple 2

est :

Exemple 2

Dans l'exemple suivant, nous utiliserons la méthode intégrée TreeMap.descendingKeySet() pour parcourir le TreeMap dans l'ordre inverse. Pour cette opération, au lieu de créer une Map comme dans l'exemple précédent, nous créons une collection qui stocke les clés Map dans l'ordre inverse. De plus, en utilisant ces clés, nous obtiendrons les valeurs correspondantes.

import java.util.*;
public class Example2 {
   public static void main(String[] args) {
      // creating a TreeMap 
      TreeMap<Integer, String> TrMap = new TreeMap<>();
      // Adding elements in the map
      TrMap.put(40, "Backpack");
      TrMap.put(12, "Desktop");
      TrMap.put(150, "Keypad");
      TrMap.put(125, "Watch");
      TrMap.put(250, "Pen drive");
      // retrieving the keys in reverse order
      Set<Integer> keys = TrMap.descendingKeySet();
      // printing the details of map 
      System.out.println("Elements of the map in Reverse Order: ");
      // iterating through the map
      for (Integer unKey : keys) {
         // printing details of map in reverse order
         System.out.println("Item: " + TrMap.get(unKey) + ", Quantity: " + unKey);
      }
   }
}

Sortie

Elements of the map in Reverse Order: 
Item: Pen drive, Quantity: 250
Item: Keypad, Quantity: 150
Item: Watch, Quantity: 125
Item: Backpack, Quantity: 40
Item: Desktop, Quantity: 12
La traduction chinoise de

Exemple 3

est :

Exemple 3

Voici un autre exemple d'obtention d'éléments TreeMap dans l'ordre inverse. Il suffit de passer la méthode Collections.reverseOrder() au constructeur de TreeMap et il renverra les éléments de la collection TreeMap dans l'ordre inverse.

import java.util.*;
public class Example3 {
   public static void main(String[] args) {
      // creating a TreeMap by passing Collections.reverseOrder() 
      TreeMap<String, Integer> TrMap = new TreeMap<>(Collections.reverseOrder());
      // Adding elements in the map
      TrMap.put("Kurti", 4000);
      TrMap.put("Shirt", 3000);
      TrMap.put("TShirt", 1500);
      TrMap.put("Watch", 2000);
      TrMap.put("Perfume", 2500);
      // printing the details of map 
      System.out.println("Elements of the map in Reverse Order: ");
      // iterating through the map
      for (String unKey : TrMap.keySet()) {
         // printing details of map in reverse order
         System.out.println("Item: " + unKey + ", Price: " + TrMap.get(unKey));
      }
   }
}

Sortie

Elements of the map in Reverse Order: 
Item: Watch, Price: 2000
Item: TShirt, Price: 1500
Item: Shirt, Price: 3000
Item: Perfume, Price: 2500
Item: Kurti, Price: 4000

Conclusion

Nous avons commencé par définir un TreeMap et dans la section suivante, nous avons expliqué comment parcourir le TreeMap dans l'ordre inverse. Pour ce faire, nous utilisons trois méthodes intégrées différentes : descendantingMap(), descendantingKeySet() et Collections.reverseOrder().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer