Массив ArrayList в Java, ArrayList массивов

Сегодня мы научимся создавать массив ArrayList в Java. Мы также узнаем, как создать ArrayList из элементов массива.

Массив ArrayList в Java

Создание массива списка в Java не сложно. Вот простая программа, показывающая пример массива Java из 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);
		}

	}

}

Обратите внимание, что мы не можем использовать обобщения при создании массива, потому что Java не поддерживает обобщенные массивы. Если мы попробуем использовать следующий код, это вызовет ошибку времени компиляции, так как “Невозможно создать обобщенный массив List<String>”.

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

ArrayList в Java из массива

Мы также можем создать массив, элементы которого являются списком. Вот простой пример того, как создать список элементов массива в Java.

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

public class JavaArrayListOfStringArray {

	public static void main(String[] args) {
		// Список массивов строк
		List list = new ArrayList();
		
		String[] arr1 = { "a", "b", "c" };
		String[] arr2 = { "1", "2", "3", "4" };
		list.add(arr1);
		list.add(arr2);
		// вывод списка массивов строк в ArrayList
		for (String[] strArr : list) {
			System.out.println(Arrays.toString(strArr));
		}
	}

}

Java ArrayList из массива объектов

Если вы не уверены в типе объектов в массиве или хотите создать ArrayList массивов, способных содержать разные типы, то вы можете создать ArrayList из массива объектов. Ниже приведен простой пример, показывающий, как создать ArrayList из массивов объектов в Java.

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

public class JavaArrayListOfObjectArray {

	public static void main(String[] args) {
		// список массивов объектов для хранения различных типов массивов
		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);

		// список содержит массивы объектов различных типов, давайте их выведем
		for (Object[] objArr : list) {
			System.out.println(Arrays.toString(objArr));

			// итерация по массиву и выполнение операций в зависимости от его типа
			for (Object obj : objArr) {

				// использование ключевого слова instanceof для определения типа объекта в массиве
				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;
		}
	}
}

При выполнении указанной программы выводится следующий результат.

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

Это все, что касается создания массива ArrayList и ArrayList из массива в Java.

Вы можете посмотреть больше примеров на языке Java в нашем репозитории GitHub.

Ссылка: Массивы в Java

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