LinkedHashSet es una versión ordenada de HashSet que mantiene una lista doblemente vinculada en todos los elementos. Cuando se necesita mantener el orden de iteración, se utiliza esta clase. Cuando se itera a través de un HashSet, el orden es impredecible, mientras que una iteración de LinkedHashSet es a través de los elementos en el orden en que se insertaron. Al recorrer LinkedHashSet con un iterador, los elementos volverán al orden en que se insertaron.
Los elementos en HashSet mantienen el orden, mientras que TreeSet mantiene los objetos ordenados definidos por el método comparable o comparador en Java. Los elementos de TreeSet se ordenan en orden ascendente de forma predeterminada. Entonces, ahora el problema que ocurre es ordenar HashSet dado en orden descendente. Entonces, aquí, con la ayuda de un TreeSet, es necesario almacenar el elemento en orden descendente.
Ilustración:
Input : LinkedHashSet = [4, 3, 6, 5, 8] Output: LinkedHashSet = [8, 6, 5, 4, 3] Input: LinkedHashSet = [22, 44, 33, 66, 55] Output: LinkedHashSet = [66, 55, 44, 33, 22]
Algoritmo :
- Cree HashSet para recibir información y almacenar todos los elementos del usuario.
- Ahora, cree TreeSet que almacene los elementos en orden decreciente agregando todos los elementos de arriba HashSet en orden inverso.
Pseude Code: TreeSet<Integer> ts = new TreeSet<>(Collections.reverseOrder()); ts.addAll(lh);
Ejemplo:
Java
// Java Program to sort LinkedHashSet elements // in descending order // Importing java generic libraries import java.util.*; import java.io.*; // Class public class GFG { // Main driver method public static void main(String[] args) { // Creating and Initializing LinkedHashSet Set<Integer> linkhasset = new LinkedHashSet<Integer>(); // Adding elements to above LinkedHashSet // Custom inputs linkhasset.add(26); linkhasset.add(23); linkhasset.add(24); linkhasset.add(21); linkhasset.add(25); linkhasset.add(22); // TreeSet storing elements in descending order by // adding all elements of HashSet in reverse order TreeSet<Integer> ts = new TreeSet<>(Collections.reverseOrder()); // Add all elements from LinkedHashSet to TreeSet ts.addAll(linkhasset); // Print all elements of TreeSet System.out.println("Element in descending order : " + ts); } }
Element in descending order : [26, 25, 24, 23, 22, 21]
Publicación traducida automáticamente
Artículo escrito por patelnagendra1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA