Cómo crear ArrayList desde Array en Java

Payel Ganguly 12 octubre 2023
  1. ¿Qué es un Array en Java?
  2. ¿Qué es ArrayList en Java?
  3. Diferencia entre Array y ArrayList en Java
  4. Conversión de un Array a ArrayList usando Arrays.asList()
  5. Conversión de un Array a ArrayList usando Colecciones.addAll()
  6. Conversión de un Array a ArrayList usando add()
Cómo crear ArrayList desde Array en Java

Este artículo del tutorial introducirá diferentes formas de crear ArrayList a partir de Array en Java. Hay tres métodos diferentes para convertir un Array en ArrayList en Java, como Arrays.asList(), Collections.addAll() y add().

Antes de proceder con la demostración, entendamos qué es un Array y una ArrayList y cómo se diferencian entre sí.

¿Qué es un Array en Java?

Un Array es una colección de un número fijo de tipos de datos similares. Por ejemplo, si queremos almacenar los datos de 50 libros, podemos crear un array del tipo cadena que puede contener 50 libros. Después de la creación, la longitud de la array es fija. Una array es la funcionalidad básica incorporada en Java.

String[] array = new String[50];

¿Qué es ArrayList en Java?

La ArrayList es un array redimensionable que almacena una colección dinámica de elementos encontrados en el paquete java.util.

Diferencia entre Array y ArrayList en Java

La principal diferencia entre un Array y una ArrayList es que la longitud de un array no puede ser modificada o extendida. Para añadir o quitar elementos a/de un array, tenemos que crear una nueva lista. Mientras que los elementos pueden ser añadidos o quitados de la ArrayList en cualquier momento debido a su naturaleza redimensionable.

Conversión de un Array a ArrayList usando Arrays.asList()

Usando Arrays.asList(), se pasa el array a este método y se obtiene un objeto list, que se pasa de nuevo al constructor de la clase ArrayList como parámetro. La sintaxis de Arrays.asList() es la siguiente:

ArrayList<T> arraylist = new ArrayList<T>(Arrays.asList(arrayname));

Sigamos el siguiente ejemplo.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method1 {
  public static void main(String[] args) {
    String[] subjects = {"maths", "english", "history", "physics"};
    ArrayList<String> sublist = new ArrayList<String>(Arrays.asList(subjects));
    sublist.add("geography");
    sublist.add("chemistry");

    for (String str : sublist) {
      System.out.println(str);
    }
  }
}

Resultado:

maths
english
history
physics
geography
chemistry

Conversión de un Array a ArrayList usando Colecciones.addAll()

Este método enumera todos los elementos del array en una colección definida casi similar a Arrays.asList(). Sin embargo, Colecciones.addAll() es mucho más rápido comparado con el método Arrays.asList() en base al rendimiento. La sintaxis de Collections.addAll() es como la siguiente:

Collections.addAll(arraylist, new Element(1), new Element(2), new Element(3), new Element(4));

Entendamos el siguiente ejemplo.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method2 {
  public static void main(String[] args) {
    String[] names = {"john", "emma", "rick", "tim"};
    ArrayList<String> namelist = new ArrayList<String>();
    Collections.addAll(namelist, names);
    namelist.add("jenny");
    namelist.add("rob");

    for (String str : namelist) {
      System.out.println(str);
    }
  }
}

Resultado:

john emma rick tim jenny rob

Conversión de un Array a ArrayList usando add()

Usando este método, podemos crear una nueva lista y añadir los elementos de la lista de una manera mucho más simple. La sintaxis del método add() es la siguiente:

arraylist.add(element);

Veamos el siguiente ejemplo.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Method3 {
  public static void main(String[] args) {
    ArrayList<String> planetlist = new ArrayList<String>();
    String[] planets = {"earth", "mars", "venus", "jupiter"};
    for (int i = 0; i < planets.length; i++) {
      planetlist.add(planets[i]);
    }
    for (String str : planetlist) {
      System.out.println(str);
    }
  }
}

Resultado:

earth
mars
venus
jupiter

Siguiendo los métodos anteriores, ahora podemos convertir fácilmente un Array a ArrayList.

Artículo relacionado - Java Array

Artículo relacionado - Java ArrayList