Cómo ordenar HashSet en Java

Dado un HashSet en Java, la tarea es ordenar este HashSet.

Ejemplos:

Input: HashSet: [Geeks, For, ForGeeks, GeeksforGeeks]
Output: [For, ForGeeks, Geeks, GeeksforGeeks]

Input: HashSet: [2, 5, 3, 1, 4]
Output: [1, 2, 3, 4, 5] 

La clase HashSet implementa la interfaz Set, respaldada por una tabla hash que en realidad es una instancia de HashMap. No se garantiza el orden de iteración del conjunto, lo que significa que la clase no garantiza el orden constante de los elementos a lo largo del tiempo.

Significa que HashSet no mantiene el orden de sus elementos. Por lo tanto, la clasificación de HashSet no es posible.

Sin embargo, los elementos del HashSet se pueden ordenar indirectamente convirtiéndolos en List o TreeSet, pero esto mantendrá los elementos en el tipo de destino en lugar del tipo HashSet.

A continuación se muestra la implementación del enfoque anterior:

Programa 1: Convirtiendo HashSet a List.

// Java program to sort a HashSet
  
import java.util.*;
  
public class GFG {
    public static void main(String args[])
    {
        // Creating a HashSet
        HashSet<String> set = new HashSet<String>();
  
        // Adding elements into HashSet using add()
        set.add("geeks");
        set.add("practice");
        set.add("contribute");
        set.add("ide");
  
        System.out.println("Original HashSet: "
                           + set);
  
        // Sorting HashSet using List
        List<String> list = new ArrayList<String>(set);
        Collections.sort(list);
  
        // Print the sorted elements of the HashSet
        System.out.println("HashSet elements "
                           + "in sorted order "
                           + "using List: "
                           + list);
    }
}
Producción:

Original HashSet: [practice, geeks, contribute, ide]
HashSet elements in sorted order using List: [contribute, geeks, ide, practice]

Programa 2: Convirtiendo HashSet a TreeSet.

// Java program to sort a HashSet
  
import java.util.*;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Creating a HashSet
        HashSet<String> set = new HashSet<String>();
  
        // Adding elements into HashSet using add()
        set.add("geeks");
        set.add("practice");
        set.add("contribute");
        set.add("ide");
  
        System.out.println("Original HashSet: "
                           + set);
  
        // Sorting HashSet using TreeSet
        TreeSet<String> treeSet = new TreeSet<String>(set);
  
        // Print the sorted elements of the HashSet
        System.out.println("HashSet elements "
                           + "in sorted order "
                           + "using TreeSet: "
                           + treeSet);
    }
}
Producción:

Original HashSet: [practice, geeks, contribute, ide]
HashSet elements in sorted order using TreeSet: [contribute, geeks, ide, practice]

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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