Matriz Java de ArrayList, ArrayList de Array

Hoje aprenderemos como criar um array Java de ArrayList. Também aprenderemos como criar um ArrayList de elementos de array.

Array Java de ArrayList

Criar um array de lista em Java não é complexo. Abaixo está um programa simples mostrando um exemplo 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);
		}

	}

}

Observe que não podemos usar genéricos ao criar o array porque o Java não suporta array genérico. Portanto, se tentarmos usar o código abaixo, ele produzirá um erro de compilação como “Não é possível criar um array genérico de List<String>”.

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

ArrayList Java de Array

Também podemos criar um array cujos elementos são uma lista. Abaixo está um exemplo simples mostrando como criar uma lista de elementos de array em 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 strings
		List list = new ArrayList();
		
		String[] arr1 = { "a", "b", "c" };
		String[] arr2 = { "1", "2", "3", "4" };
		list.add(arr1);
		list.add(arr2);
		// Imprimindo a lista de arrays de strings no ArrayList
		for (String[] strArr : list) {
			System.out.println(Arrays.toString(strArr));
		}
	}

}

ArrayList Java de Array de Objetos

Se você não tem certeza sobre o tipo de objetos no array ou deseja criar um ArrayList de arrays que possa armazenar vários tipos, então você pode criar um ArrayList de um array de objetos. Abaixo está um exemplo simples mostrando como criar ArrayList de arrays de objetos em 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 armazenar 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);

		// lista contém diferentes tipos de arrays de objetos, vamos imprimi-los
		for (Object[] objArr : list) {
			System.out.println(Arrays.toString(objArr));

			// iterando sobre o array e fazendo operações com base em seu tipo
			for (Object obj : objArr) {

				// usando a palavra-chave instanceof para encontrar o tipo de Objeto no 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;
		}
	}
}

Ao executarmos o programa acima, ele produz a seguinte saída.

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

Isso é tudo para criar um Array de ArrayList e ArrayList de Array em Java.

Você pode verificar mais exemplos de java básico em nosso Repositório GitHub.

Referência: Arrays em Java

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