TreeSet es una de las implementaciones de la subinterfaz navegable. Su estructura de datos subyacente es un árbol rojo-negro . Los elementos se almacenan en orden ascendente y hay más métodos disponibles en TreeSet en comparación con SortedSet. También podemos cambiar el parámetro de clasificación usando un Comparator . Por ejemplo, Comparator se proporciona en el momento de la creación del conjunto, según el constructor que se utilice.
- También implementa la interfaz NavigableSet.
- NavigableSet amplía las interfaces SortedSet y Set .
Ejemplo
Java
// Java Program to Illustrate TreeSet // Importing required classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String args[]) { // Creating an empty TreeSet of string type elements TreeSet<String> al = new TreeSet<String>(); // Adding elements // using add() method al.add("Welcome"); al.add("to"); al.add("Geeks for Geeks"); // Traversing elements via help of iterators Iterator<String> itr = al.iterator(); // Holds true until there is element remaining in object while (itr.hasNext()) { // Moving onto next element with help of next() method System.out.println(itr.next()); } } }
Geeks for Geeks Welcome to
Conjunto ordenado
SortedSet es una subinterfaz , que está disponible en java.util.package , que amplía la interfaz Set. Esta interfaz contiene los métodos heredados de la interfaz Set. Por ejemplo, headSet, tailSet, subSet, Comparator, first, last y muchos más.
Ejemplo
Java
// Java program to Illustrate SortedSet // Importing utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an instance of SortedSet // String type SortedSet<String> ts = new TreeSet<String>(); // Adding elements into the TreeSet // using add() ts.add("Sravan"); ts.add("Ojaswi"); ts.add("Bobby"); ts.add("Rohith"); ts.add("Gnanesh"); ts.add("Devi2"); // Adding the duplicate element // again simply using add() method ts.add("Sravan"); // Print and display TreeSet System.out.println(ts); // Removing items from TreeSet // using remove() method ts.remove("Ojaswi"); // Display message System.out.println("Iterating over set:"); // Iterating over TreeSet items Iterator<String> i = ts.iterator(); // Condition holds true till there is single element // remaining in the object while (i.hasNext()) // Printing elements System.out.println(i.next()); } }
[Bobby, Devi2, Gnanesh, Ojaswi, Rohith, Sravan] Iterating over set: Bobby Devi2 Gnanesh Rohith Sravan
Ahora, después de tener una comprensión adecuada y el funcionamiento interno de TreeSet y SortedSet, ahora veamos las diferencias entre TreeSet y SortedSet, que se muestran en la tabla que se proporciona a continuación:
Base |
ÁrbolConjunto |
conjunto ordenado |
---|---|---|
Clasificación | Clase de la subinterfaz NavigableSet. | Subinterfaz |
Orden de insercion | TreeSet mantiene un objeto ordenado. | SortedSet mantiene un objeto ordenado. |
Inicialización |
Sintaxis: TreeSet<Tipo de datos> treeset = new TreeSet<>(); |
Sintaxis: No se puede instanciar porque es una subinterfaz. |
Métodos | Contiene más métodos que SortedSet. | Contiene menos métodos que TreeSet. |
Ejemplo | contiene todos los métodos de SortSet. Además, métodos como techo(), piso(), superior(), inferior(), etc. | contiene métodos como agregar(), agregarTodos(), iterador(), retenerTodos() y etc. |
Conclusión: básicamente, en palabras simples, asumamos de esta manera, TreeSet es una clase de NavigableSet que contiene todos los métodos para un mejor recorrido y búsqueda de valores. SortedSet es un subconjunto de NavigableSet en términos de métodos en comparación con TreeSet (NavigableSet)
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA