LinkedHashSet es una versión ordenada de HashSet que mantiene una lista doblemente vinculada en todos los elementos. Al iterar a través de un HashSet, el orden es impredecible, mientras que un LinkedHashSet nos permite iterar a través de los elementos en el orden en que se insertaron. Al recorrer LinkedHashSet con un iterador , los elementos se devolverán en el orden en que se insertaron.
Hay tres formas de ordenar LinkedHashSet en Java. Cual es la siguiente:
- Usando ArrayList
- Uso de TreeSet
- usando flujo
Método 1 (usando ArrayList)
En este método, convertimos el LinkedHashSet en un ArrayList y luego ordenamos el ArrayList usando el método sort() de la clase de colecciones .
// Convert LinkedHashSet to an ArrayList ArrayList<Integer> array = new ArrayList<>(set); // sort ArrayList Collections.sort(array);
Declaración
public static void sort(List myList)
Parámetros: myList es un objeto que queremos ordenar.
Ejemplo:
Java
// Java program to demonstrate how to sort LinkedHashSet import java.util.*; class GFG { public static void main(String[] args) { // New Empty LinkedHashSet LinkedHashSet<Integer> set = new LinkedHashSet<>(); // Adding elements set.add(10); set.add(50); set.add(20); set.add(40); set.add(30); // Print LinkedHashSet before sort System.out.println("Before sort: " + set); // Convert LinkedHashSet to an ArrayList ArrayList<Integer> array = new ArrayList<>(set); // sort ArrayList Collections.sort(array); // Print after sort System.out.println("After sort: " + array); } }
Before sort: [10, 50, 20, 40, 30] After sort: [10, 20, 30, 40, 50]
Método 2: Usar TreeSet
En este método, convertimos LinkedHashSet en TreeSet usando el constructor para ordenar automáticamente los elementos.
// Convert LinkedHashSet to a TreeSet TreeSet<Integer> tree_set = new TreeSet<>(set);
Ejemplo:
Java
// Java program to demonstrate how to sort LinkedHashSet import java.util.*; class GFG { public static void main(String[] args) { // New Empty LinkedHashSet LinkedHashSet<Integer> set = new LinkedHashSet<>(); // Adding elements set.add(10); set.add(50); set.add(20); set.add(40); set.add(30); // Print LinkedHashSet before sort System.out.println("Before sort: " + set); // Convert LinkedHashSet to a TreeSet using // constructor TreeSet<Integer> tree_set = new TreeSet<>(set); // Print after sort System.out.println("After sort: " + tree_set); } }
Before sort: [10, 50, 20, 40, 30] After sort: [10, 20, 30, 40, 50]
Método 3: Usar flujo
En este método, ordenamos el LinkedHashSet usando la función stream y sorted() del flujo.
// Sort and print using stream set.stream().sorted().forEach(System.out::println);
A continuación se muestra la implementación:
Ejemplo:
Java
// Java program to demonstrate how to sort LinkedHashSet import java.util.*; class GFG { public static void main(String[] args) { // New Empty LinkedHashSet LinkedHashSet<Integer> set = new LinkedHashSet<>(); // Adding elements set.add(10); set.add(50); set.add(20); set.add(40); set.add(30); // Print LinkedHashSet before sort System.out.println("Before sort: " + set); // Print after sort System.out.println("After sort: "); // Sort and print using stream set.stream().sorted().forEach(System.out::println); } }
Before sort: [10, 50, 20, 40, 30] After sort: 10 20 30 40 50
Publicación traducida automáticamente
Artículo escrito por nikhilchhipa9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA