Cómo crear ArrayList desde Array en Java

Cómo crear ArrayList desde Array en Java

Payel Ganguly Nov-05, 2020 Oct-10, 2020 Java Java Array Java ArrayList
  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()

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

  • Cómo concatenar dos arrays en Java
  • Cómo convertir un array de bytes en una cadena hexadecimal en Java
  • Eliminar duplicados del array en Java
  • Comparar arrays en Java
  • Matriz asociativa en Java
  • Cortar un array en Java
  • Artículo relacionado - Java ArrayList

  • Cómo ordenar objetos en ArrayList por fecha en Java
  • Comparar ArrayLists en Java
  • Convertir ArrayList a Int Array en Java
  • Convertir ArrayList a Set en Java
  • Conversión de Set a ArrayList en Java
  • La diferencia entre ArrayList y LinkedList en Java