Matriz de Java de ArrayList, ArrayList de Matriz

Hoy aprenderemos cómo crear un array de ArrayList en Java. También aprenderemos cómo crear un ArrayList de elementos de array.

Array de ArrayList en Java

Crear un array de lista en Java no es complicado. A continuación, se muestra un programa simple que muestra un ejemplo de Array Java de ArrayList.

import java.util.ArrayList;
import java.util.List;

public class JavaArrayOfArrayList {

	public static void main(String[] args) {
		List<String> l1 = new ArrayList<>();
		l1.add("1");
		l1.add("2");

		List<String> l2 = new ArrayList<>();
		l2.add("3");
		l2.add("4");
		l2.add("5");

		List<String>[] arrayOfList = new List[2];
		arrayOfList[0] = l1;
		arrayOfList[1] = l2;

		for (int i = 0; i < arrayOfList.length; i++) {
			List<String> l = arrayOfList[i];
			System.out.println(l);
		}

	}

}

Observa que no podemos utilizar genéricos al crear el array porque Java no admite arrays genéricos. Por lo tanto, si intentamos usar el siguiente código, producirá un error en tiempo de compilación como “No se puede crear un array genérico de List<String>”.

List<String>[] arrayOfList = new List<String>[2];

ArrayList de Array en Java

También podemos crear un array cuyos elementos son una lista. A continuación, se muestra un ejemplo simple de cómo crear una lista de elementos de array en Java.

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

public class JavaArrayListOfStringArray {

	public static void main(String[] args) {
		// Lista de arrays de cadenas
		List list = new ArrayList();
		
		String[] arr1 = { "a", "b", "c" };
		String[] arr2 = { "1", "2", "3", "4" };
		list.add(arr1);
		list.add(arr2);
		// Imprimir la lista de arrays de cadenas en el ArrayList
		for (String[] strArr : list) {
			System.out.println(Arrays.toString(strArr));
		}
	}

}

Java ArrayList de Array de Objetos

Si no estás seguro sobre el tipo de objetos en el array o deseas crear un ArrayList de arrays que puedan contener múltiples tipos, entonces puedes crear un ArrayList de un array de objetos. A continuación, se muestra un ejemplo simple que muestra cómo crear un ArrayList de arrays de objetos en Java.

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

public class JavaArrayListOfObjectArray {

	public static void main(String[] args) {
		// lista de arrays de objetos para contener diferentes tipos de arrays
		List list = new ArrayList();
		String[] arr1 = { "a", "b", "c" };
		String[] arr2 = { "1", "2", "3", "4" };

		JavaArrayListOfObjectArray aa = new JavaArrayListOfObjectArray();
		JavaArrayListOfObjectArray.A[] arr3 = { aa.new A("AA"), aa.new A("BB") };

		list.add(arr1);
		list.add(arr2);
		list.add(arr3);

		// la lista contiene diferentes tipos de arrays de objetos, imprimámoslos
		for (Object[] objArr : list) {
			System.out.println(Arrays.toString(objArr));

			// iterando sobre el array y realizando operaciones basadas en su tipo
			for (Object obj : objArr) {

				// usando la palabra clave instanceof para encontrar el tipo de objeto en el array
				if (obj instanceof String) {
					// doSomethingForStringObject();
				} else if (obj instanceof JavaArrayListOfObjectArray.A) {
					// doSomethingForAObject();
				}
			}
		}
	}

	/**
	 * A sample class to use in arraylist of arrays
	 * 
	 * @author pankaj
	 * 
	 */
	public class A {
		private String name;

		public A(String n) {
			this.name = n;
		}

		public String getName() {
			return this.name;
		}

		@Override
		public String toString() {
			return "A.class::"+this.name;
		}
	}
}

Cuando ejecutamos el programa anterior, produce la siguiente salida.

[a, b, c]
[1, 2, 3, 4]
[A.class::AA, A.class::BB]

Eso es todo para crear un Array de ArrayList y ArrayList de Array en Java.

Puedes ver más ejemplos de Java básico en nuestro Repositorio de GitHub.

Referencia: Arrays en Java

Source:
https://www.digitalocean.com/community/tutorials/java-array-of-arraylist-of-array