De forma predeterminada, los elementos de TreeMap se ordenan en orden ascendente de claves. Podemos iterar el TreeMap en orden inverso para mostrar los elementos en orden descendente de claves.

Muestre los elementos de TreeMap en orden inverso:

import java.util.*;

class TreeMapDemo {
  public static void main(String args[]) {
 
    Map<String, String> treemap = 
      new TreeMap<String, String>(Collections.reverseOrder());

    // Put elements to the map
    treemap.put("Key1", "Jack");
    treemap.put("Key2", "Rick");
    treemap.put("Key3", "Kate");
    treemap.put("Key4", "Tom");
    treemap.put("Key5", "Steve");
 
    Set set = treemap.entrySet();
    Iterator i = set.iterator();
    // Display elements
    while(i.hasNext()) {
      Map.Entry me = (Map.Entry)i.next();
      System.out.print(me.getKey() + ": ");
      System.out.println(me.getValue());
    }
  }
}

Producción:

Key5: Steve
Key4: Tom
Key3: Kate
Key2: Rick
Key1: Jack

Como puede ver, los elementos se muestran en orden inverso al de las teclas.

Obtenga más información sobre Collections.reverseOrder () en javadoc:
public static Comparator reverseOrder(): Devuelve un comparador que fuerza el orden inverso del orden natural en una colección de objetos que implementan la interfaz Comparable. (La ordenación natural es la ordenación impuesta por el método compareTo de objetos). Esto permite un lenguaje simple para ordenar (o mantener) colecciones (o matrices) de objetos que implementan la interfaz Comparable en orden natural inverso. Por ejemplo, suponga que a es una matriz de cadenas. Luego: Arrays.sort(a, Collections.reverseOrder());

ordena la matriz en orden alfabético inverso (lexicográfico). El comparador devuelto es serializable.

Vuelve:

Un comparador que aplica el orden inverso al orden natural en una colección de objetos que implementan la interfaz Comparable.

Referencia:
Colecciones.reverseOrder ()

leer  Interfaz comparable en Java con ejemplo

Por avivcas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *