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 .
Ejemplo:
Java
// Java Program to illustrate the TreeSet import java.util.*; class GFG { public static void main(String args[]) { // Creating TreeSet and adding elements to it TreeSet<String> tree_set = new TreeSet<String>(); tree_set.add("Manish"); tree_set.add("Kartik"); tree_set.add("Anand"); tree_set.add("Sahil"); // Traversing elements of TreeSet Iterator<String> it = tree_set.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } }
Anand Kartik Manish Sahil
Agregar valor nulo a TreeSet
En este ejemplo, vamos a agregar un valor NULL en TreeSet, lo que nos dará una excepción.
Java
// Adding NULL value to Java TreeSet import java.util.TreeSet; public class Example2 { public static void main(String[] args) { // Creating TreeSet and adding elements to it TreeSet<String> tree_Set = new TreeSet<String>(); tree_Set.add("ABC"); tree_Set.add(null); // Printing TreeSet elements System.out.println(tree_Set); } }
Producción
Exception in thread "main" java.lang.NullPointerException at java.base/java.util.TreeMap.put(TreeMap.java:561) at java.base/java.util.TreeSet.add(TreeSet.java:255) at Example2.main(Example2.java:10)
Explicación: De forma predeterminada, TreeSet utiliza internamente la interfaz Comparable para ordenar los elementos. Ahora, en la interfaz comparable, el método compareTo() se usa para comparar un valor con otro para ordenar los elementos.
Entonces, debido a este propósito, null no tiene valor, es por eso que el método compareTo() no puede comparar null con otro valor, dando una NullPointerException .
añadir declaración de método
public boolean add(E e) throws ClassCastException, NullPointerExeption;
Si intentamos agregar valores nulos en TreeSet, generará una NullPointerException en el tiempo de ejecución.
Publicación traducida automáticamente
Artículo escrito por piyushkr2022 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA