Hashset : Hashset en Java generalmente se usa para operaciones como buscar, insertar y eliminar. En promedio, se necesita un tiempo constante para estas operaciones. HashSet es más rápido que TreeSet. HashSet se implementa mediante una tabla hash.
TreeSet : TreeSet en Java toma O (log n) para buscar, insertar y eliminar, que es más alto que HashSet. Pero TreeSet mantiene los datos ordenados. Además, admite operaciones como más alto() (devuelve el elemento menos alto), piso(), techo(), etc. Estas operaciones también son O (log n) en TreeSet y no se admiten en HashSet. TreeSet se implementa mediante un árbol de búsqueda binario autoequilibrado (árbol rojo-negro). TreeSet está respaldado por TreeMap en Java.
En general, si desea un conjunto ordenado , es mejor agregar elementos a HashSet y luego convertirlo en TreeSet en lugar de crear un TreeSet y agregarle elementos.
Dado un HashSet, la tarea es convertirlo en TreeSet en Java.
Ejemplos:
HashSet: [Geeks, For, Welcome, To] TreeSet: [For, Geeks, To, Welcome] HashSet: [1, 2, 3, 4, 5] TreeSet: [1, 2, 3, 4, 5]
Podemos convertir HashSet a TreeSet de las siguientes maneras:
- Primero, tenemos que crear un objeto para el conjunto hash.
- Luego tenemos que agregar todos los elementos al conjunto hash.
- Finalmente, cree un objeto para el conjunto de árboles y envíele el objeto de conjunto hash.
A continuación se muestra la implementación del enfoque anterior:
Programa:
import java.util.HashSet; import java.util.Set; import java.util.TreeSet; public class GFG { public static void main(String[] args) { // Get the HashSet Set<String> setobj = new HashSet<>(); setobj.add( "Welcome" ); setobj.add( "To" ); setobj.add( "Geeks" ); setobj.add( "For" ); setobj.add( "Geeks" ); System.out.println( "HashSet: " + setobj); // Convert the HashSet to TreeSet Set<String> hashSetToTreeSet = new TreeSet<>(setobj); // Print the TreeSet System.out.println( "TreeSet: " + hashSetToTreeSet); } } |
HashSet: [Geeks, For, Welcome, To] TreeSet: [For, Geeks, To, Welcome]
- Primero, tenemos que crear un objeto para el conjunto hash.
- Luego tenemos que agregar todos los elementos al conjunto hash.
- Ahora cree un objeto para el conjunto de árboles.
- Usando el método addAll agregue todos los elementos del conjunto hash.
A continuación se muestra la implementación del enfoque anterior:
Programa:
import java.util.HashSet; import java.util.Set; import java.util.TreeSet; public class GFG { public static void main(String[] args) { // Get the HashSet Set<String> setobj = new HashSet<>(); setobj.add( "Welcome" ); setobj.add( "To" ); setobj.add( "Geeks" ); setobj.add( "For" ); setobj.add( "Geeks" ); System.out.println( "HashSet: " + setobj); // Convert the HashSet to TreeSet Set<String> hashSetToTreeSet = new TreeSet<>(); hashSetToTreeSet.addAll(setobj); // Print the TreeSet System.out.println( "TreeSet: " + hashSetToTreeSet); } } |
HashSet: [Geeks, For, Welcome, To] TreeSet: [For, Geeks, To, Welcome]
A continuación se muestra la implementación del enfoque anterior:
Programa:
import java.util.HashSet; import java.util.Set; import java.util.TreeSet; public class GFG { public static void main(String[] args) { // Get the HashSet Set<String> setobj = new HashSet<>(); setobj.add("Welcome"); setobj.add("To"); setobj.add("Geeks"); setobj.add("For"); setobj.add("Geeks"); System.out.println("HashSet: " + setobj); // Convert the HashSet to TreeSet Set<String> hashSetToTreeSet = new TreeSet<>(); for (String i : setobj) hashSetToTreeSet .add(i); // Print the TreeSet System.out.println("TreeSet: " + hashSetToTreeSet); } }
HashSet: [Geeks, For, Welcome, To] TreeSet: [For, Geeks, To, Welcome]
Publicación traducida automáticamente
Artículo escrito por suman_ptnl y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA