TreeSet en Java implementa Set Interface y usa un árbol rojo-negro para almacenar valores. Usamos TreeSet para ordenar, ya que los elementos en TreeSet se almacenan en orden ascendente de manera predeterminada. Una vez que se crea el TreeSet, podemos obtener el valor de elemento más alto del último elemento del TreeSet y el valor del primer elemento del primer elemento del TreeSet. Primero tenemos que pasar los objetos Comparator junto con la declaración TreeSet. Ahora, simplemente podemos hacer esto creando un TreeSet y agregando elementos y luego ordenando los elementos por un determinado atributo, finalmente obteniendo el elemento más alto por último() y el más bajo por las funciones primero() en TreeSet. Tendremos que anular la comparación .método para implementar la Clasificación. La declaración TreeSet seguiría la sintaxis que se indica a continuación:
Sintaxis
TreeSet<Comparator> name = new TreeSet<Comparator>(new ComparatorClass());
Parámetros
- name: Nombre del TreeSet Creado
- Comparador: objeto comparador
- ComparatorClass(): clase utilizada para implementar la función de clasificación (método de comparación)
Devuelve: TreeSet donde podemos agregar valores
Por ejemplo, queremos crear un TreeSet que tenga los nombres y la Edad de un grupo, y queremos encontrar la Persona con la Edad y el Valor más altos y con la Edad y el Valor más bajos.
Ejemplo 1:
Input : Name - "Ramesh" Age - 20 Name - "Suresh" Age - 48 Name - "Ankit" Age - 14 Name - "Madhav" Age - 78 Output : Highest Age Person: Name : Madhav-- Age : 78 Lowest Age Person: Name : Ankit-- Age : 14
Ejemplo 2:
Input : Name - "Ramesh" Age - 20 Name - "Suresh" Age - 20 Name - "Ankit" Age - 78 Name - "Madhav" Age - 78 Output : Highest Age Person: Name : Ankit-- Age : 78 Lowest Age Person: Name : Suresh-- Age : 14
Explicación
Por ejemplo, todas las edades son distintas, por lo que la más alta y la más baja se encuentran en función del valor de la edad.
Por ejemplo, los valores de edad más altos son los mismos, por lo que el nombre de la persona al final() de treeset recibe el valor más alto, es decir, ‘A’ <‘M’, por lo que Ankit tiene la edad más alta, mientras que si los valores de edad más bajos son el mismo nombre al principio ( ) del conjunto de árboles recibe el valor más bajo, es decir, ‘S’ > ‘R’, por lo que Suresh tiene la edad más baja.
Ejemplo:
Java
// Getting Highest and Lowest Value // Element From a Set by Using Sorting // Logic on TreeSet in Java import java.util.*; import java.io.*; import java.util.Comparator; import java.util.TreeSet; // Implement sorting class using comparator to sort class sorting implements Comparator<ages> { // Override the Compare Method @Override public int compare(ages age1, ages age2) { if (age1.value() > age2.value()) { return 1; } else { return -1; } } } // Implement ages for getting name and age class ages { private String name; private int age; public ages(String name, int a) { this.name = name; this.age = a; } public String Name() { return name; } public void NewName(String name) { this.name = name; } public int value() { return age; } public void NewAge(int age) { this.age = age; } // Convert to string output public String toString() { return "Name: " + this.name + "-- age: " + this.age; } } public class GFG { public static void main(String[] args) { // Create a TreeSet with Comporator Object TreeSet<ages> agetree = new TreeSet<ages>(new sorting()); // Add elements in TreeSet agetree.add(new ages("Ramesh", 20)); agetree.add(new ages("Suresh", 20)); agetree.add(new ages("Ankit", 78)); agetree.add(new ages("Madhav", 78)); // Output Highest Value Element System.out.println("Highest Age Person: " + agetree.last()); // Output Lowest Value Element System.out.println("Lowest Age Person: " + agetree.first()); } }
Highest Age Person: Name: Ankit-- age: 78 Lowest Age Person: Name: Suresh-- age: 20
Publicación traducida automáticamente
Artículo escrito por prakhardungarwal2018 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA