Array Java di ArrayList, ArrayList di Array

Oggi impareremo come creare un array di ArrayList in Java. Impareremo anche come creare un ArrayList degli elementi dell’array.

Array di ArrayList in Java

Creare un array di liste in Java non è complesso. Di seguito è riportato un semplice programma che mostra un esempio di array Java di 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);
		}

	}

}

Nota che non possiamo utilizzare i generics durante la creazione dell’array perché Java non supporta gli array generici. Quindi, se proviamo a utilizzare il codice sottostante, produrrà un errore di compilazione del tipo “Impossibile creare un array generico di List<String>”.

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

ArrayList Java di Array

Possiamo anche creare un array i cui elementi sono una lista. Di seguito è riportato un semplice esempio di come creare una lista di elementi di un array in Java.

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

public class JavaArrayListOfStringArray {

	public static void main(String[] args) {
		// Lista di array di stringhe
		List list = new ArrayList();
		
		String[] arr1 = { "a", "b", "c" };
		String[] arr2 = { "1", "2", "3", "4" };
		list.add(arr1);
		list.add(arr2);
		// stampa la lista di array di stringhe nell'ArrayList
		for (String[] strArr : list) {
			System.out.println(Arrays.toString(strArr));
		}
	}

}

Java ArrayList di Array di Oggetti

Se non sei sicuro del tipo di oggetti nell’array o desideri creare un ArrayList di array che possono contenere più tipi, allora puoi creare un ArrayList di un array di oggetti. Di seguito è riportato un semplice esempio che mostra come creare ArrayList di array di oggetti in Java.

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

public class JavaArrayListOfObjectArray {

	public static void main(String[] args) {
		// lista di array di Oggetti per contenere diversi tipi di array
		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 diversi tipi di array di Oggetti, stampiamoli
		for (Object[] objArr : list) {
			System.out.println(Arrays.toString(objArr));

			// iterare sull'array e fare operazioni basate sul suo tipo
			for (Object obj : objArr) {

				// utilizzando la parola chiave instanceof per trovare il tipo di Oggetto nell'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;
		}
	}
}

Quando eseguiamo il programma sopra, produce l’output seguente.

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

E questo è tutto per la creazione di un Array di ArrayList e un ArrayList di Array in Java.

Puoi controllare altri esempi di core Java dal nostro Repository GitHub.

Riferimento: Array Java

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