TreeSet es una de las implementaciones más importantes de la interfaz SortedSet en Java que utiliza un árbol para el almacenamiento. El orden de los elementos se mantiene mediante un conjunto utilizando su orden natural, se proporcione o no un comparador explícito . Esto debe ser consistente con equals si se quiere implementar correctamente la interfaz Set .
El método comparador() presente dentro de java.util.TreeSet comparte una función importante de establecer y devolver el comparador que se puede usar para ordenar los elementos en un TreeSet. El método devuelve un valor Nulo si el conjunto sigue el patrón de ordenación natural de los elementos.
Sintaxis:
comp_set = (TreeSet)tree_set.comparator()
Parámetros: El método no toma ningún parámetro.
Valor devuelto: El conjunto comparador se utiliza para ordenar los elementos del conjunto en un orden específico. Devuelve un valor Nulo si el conjunto sigue el patrón de orden natural o predeterminado.
Aquí propondremos dos ejemplos debajo de uno antes, usaremos el orden natural de los elementos y luego usaremos un comparador específico para comprenderlo mejor.
Ejemplo 1: Usando el ordenamiento natural de los elementos
Java
// Java Program to illustrate the use of comparator() method // While using the natural ordering of the elements // Importing utility classes import java.util.*; // Main class // TreeSet Demo class public class GFG { // Main driver method public static void main(String[] args) { // Creating an empty TreeSet of integer type TreeSet<Integer> tree_set = new TreeSet<Integer>(); // Adding elements to the set // using add() method tree_set.add(20); tree_set.add(24); tree_set.add(30); tree_set.add(35); tree_set.add(45); tree_set.add(50); // Printing elements inside TreeSet object System.out.println("Tree Set values are: " + tree_set); // Creating a comparator Comparator comp = tree_set.comparator(); // Print and display the comparator values System.out.println("Since the Comparator value is: " + comp); // Display message only System.out.println("it follows natural ordering"); } }
Tree Set values are: [20, 24, 30, 35, 45, 50] Since the Comparator value is: null it follows natural ordering
Ejemplo 2: Uso de un comparador específico
Java
// Java code to illustrate the use of comparator() // While using a specific comparator // Importing Comparator and TreeSet classes // from java.util package import java.util.Comparator; import java.util.TreeSet; // Class 1 // Helper class class Helper implements Comparator<String> { // Method // To compare two strings public int compare(String str1, String str2) { String first_Str; String second_Str; first_Str = str1; second_Str = str2; // using compareTo() to ensure return second_Str.compareTo(first_Str); } } // Main class // TreeSetDemo class public class GFG { // Main driver method public static void main(String[] args) { // Creating an empty TreeSet of string type TreeSet<String> tree_set = new TreeSet<String>(); // Adding elements to our TreeSet object // using add() method tree_set.add("G"); tree_set.add("E"); tree_set.add("E"); tree_set.add("K"); tree_set.add("S"); tree_set.add("4"); // Printing elements in set before using comparator System.out.println("Set before using the comparator: " + tree_set); // Again creating an empty TreeSet of string type // with reference to Helper class TreeSet<String> tree_set1 = new TreeSet<String>(new Helper()); // Adding elements to our TreeSet object // using add() method tree_set1.add("G"); tree_set1.add("E"); tree_set1.add("E"); tree_set1.add("K"); tree_set1.add("S"); tree_set1.add("4"); // Printing elements in set before using comparator System.out.println("The elements sorted in descending order:" + tree_set1); } }
Set before using the comparator: [4, E, G, K, S] The elements sorted in descending order:[S, K, G, E, 4]
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA