Aquí hay un par de diferencias entre ArrayList y HashSet.
- Herencia:
- Implementación:
Implementación: ArrayList implementa la interfaz List mientras que HashSet implementa la interfaz Set en Java. - Implementación interna:
ArrayList está respaldado por un Array mientras que HashSet está respaldado por un HashMap. - Duplicados:
ArrayList permite valores duplicados, mientras que HashSet no permite valores duplicados. - Constructor:
ArrayList tiene tres constructores que son ArrayList(), ArrayList (capacidad int) ArrayList (Colección int c) mientras que HashSet tiene cuatro constructores que son HashSet(), HashSet (capacidad int), HashSet (Colección c) y HashSet (capacidad int) , factor de carga flotante) - Ordenación:
ArrayList mantiene el orden del objeto en el que se insertan, mientras que HashSet es una colección desordenada y no mantiene ningún orden. - Indexación:
ArrayList se basa en índices, podemos recuperar objetos llamando al método get (índice) o eliminar objetos llamando al método remove (índice), mientras que HashSet está completamente basado en objetos. HashSet tampoco proporciona el método get(). - Objeto nulo:
ArrayList no aplica ninguna restricción, podemos agregar cualquier número de valor nulo, mientras que HashSet permite un valor nulo. - Sintaxis:
ArrayList:-ArrayList list=nuevo ArrayList();HashSet: –
HashSet conjunto = nuevo HashSet();
Ejemplo de ArrayList
// Java program to demonstrate working of ArrayList in Java import java.io.*; import java.util.*; class ArrayListTest { public static void main(String[] args) throws IOException { // size of ArrayList int n = 5; // declaring ArrayList with initial size n List<Integer> al = new ArrayList<>(n); // Appending the new element at the end of the list for (int i = 1; i <= n; i++) { al.add(i); } // Printing elements System.out.println(al); // Remove element at index 3 al.remove(3); // Displaying ArrayList after deletion System.out.println(al); // Printing elements one by one for (int i = 0; i < al.size(); i++) { System.out.print(al.get(i) + " "); } } }
Producción:
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
Ejemplo de HashSet
// Java program to demonstrate working of HashSet import java.util.HashSet; import java.util.Set; class HashSetDemo { public static void main(String[] args) { // Create a HashSet Set<Integer> hs = new HashSet<>(); // add elements to HashSet hs.add(1); hs.add(2); hs.add(3); hs.add(4); // Duplicate removed hs.add(4); // Displaying HashSet elements for (Integer temp : hs) { System.out.print(temp + " "); } } }
Producción:
1 2 3 4