Método TreeSet comparador() en Java con ejemplos

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

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

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

Deja una respuesta

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