¿Cómo ordenar LinkedHashSet en Java?

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:

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);
    }
}
Producción

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);
    }
}
Producción

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);
    }
}
Producción

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

Deja una respuesta

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