TreeSet en Java – Part 2

TreeSet proporciona una implementación de la interfaz SortedSet y SortedSet amplía la interfaz Set. Se comporta como un conjunto simple con la excepción de que almacena elementos en formato ordenado. Las siguientes son las características de TreeSet.

  • TreeSet utiliza una estructura de datos de árbol para el almacenamiento.
  • Los objetos se almacenan en orden ascendente ordenado. Pero podemos iterar en orden descendente usando el método TreeSet.descendingIterator().
  • Los tiempos de acceso y recuperación son muy rápidos, lo que convierte a TreeSet en una excelente opción para el almacenamiento de grandes volúmenes de datos en formato ordenado.
  • TreeSet no usa los métodos hashCode() y equals() para comparar sus elementos. Utiliza el método compare() (o compareTo()) para determinar la igualdad de dos elementos.

Métodos importantes de la clase treeset: 

  • boolean add(E e):  este método agrega el elemento especificado a este conjunto si aún no está presente.
  • E techo (E e):  este método devuelve el elemento menor en este conjunto mayor o igual que el elemento dado, o nulo si no existe tal elemento.
  • booleano contiene (Objeto o):  este método devuelve verdadero si este conjunto contiene el elemento especificado.
  • E floor(E e):  este método devuelve el mayor elemento de este conjunto menor o igual que el elemento dado, o nulo si no existe tal elemento.
  • E pollFirst():  este método recupera y elimina el primer elemento (el más bajo), o devuelve un valor nulo si este conjunto está vacío.
  • E pollLast():  este método recupera y elimina el último elemento (el más alto), o devuelve un valor nulo si este conjunto está vacío.
  • boolean remove(Object o): este método elimina el elemento especificado de este conjunto si está presente.

La siguiente es una implementación de TreeSet muy simple que incluye la clasificación de TreeSet, la iteración en un TreeSet, la recuperación del primer y el último elemento y la eliminación de un elemento. 

Java

// Java program to demonstrate working TreeSet collection
import java.util.Iterator;
import java.util.TreeSet;
 
public class TreeSetExample
{
    public static void main(String[] args)
    {
        TreeSet<Integer> ts = new TreeSet<Integer>();
        ts.add(10);
        ts.add(61);
        ts.add(87);
        ts.add(39);
 
        Iterator<Integer> iterator = ts.iterator();
        System.out.print("Tree set data: ");
 
        // note that 87 being largest element, appears in
        // the last.
        while (iterator.hasNext())
            System.out.print(iterator.next() + " ");
        System.out.println();
 
        // to check if treeset is empty or not.
        if (ts.isEmpty())
            System.out.print("Tree Set is empty.");
        else
            System.out.println("Tree Set size: " + ts.size());
 
        // To get the smallest element from the set
        System.out.println("First data: " + ts.first());
 
        // To get the largest value from set
        System.out.println("Last data: " + ts.last());
 
        // remove 61 from set.
        if (ts.remove(61))
            System.out.println("Data is removed from tree set");
        else
            System.out.println("Data doesn't exist!");
 
        System.out.print("Now the tree set contain: ");
        iterator = ts.iterator();
 
        // Displaying the Tree set data
        while (iterator.hasNext())
            System.out.print(iterator.next() + " ");
 
        System.out.println();
        System.out.println("Now the size of tree set: " +
                           ts.size());
 
        // Remove all
        ts.clear();
        if (ts.isEmpty())
            System.out.print("Tree Set is empty.");
        else
            System.out.println("Tree Set size: " + ts.size());
    }
}

Producción: 

Tree set data: 10 39 61 87 

Tree Set size: 4

First data: 10

Last data: 87

Data is removed from tree set

Now the tree set contain: 10 39 87 

Now the size of tree set: 3

Tree Set is empty.

Consulte TreeSet en Java con ejemplos para obtener más detalles.

Este artículo es una contribución de Rishabh Mahrsee. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *