Java Массив ArrayList, ArrayList массива
Сегодня мы узнаем, как создать массив Java ArrayList. Мы также узнаем, как создать ArrayList из элементов массива.
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
List<String>[] arrayOfList = new List<String>[2];
Java ArrayList of Array
Мы также можем создать массив, элементы которого представляют собой список. Ниже приведен простой пример, показывающий, как создать список элементов массива в java.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JavaArrayListOfStringArray {
public static void main(String[] args) {
// List of String arrays
List<String[]> list = new ArrayList<String[]>();
String[] arr1 = { "a", "b", "c" };
String[] arr2 = { "1", "2", "3", "4" };
list.add(arr1);
list.add(arr2);
// printing list of String arrays in the 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 of Object arrays to hold different types of array
List<Object[]> list = new ArrayList<Object[]>();
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);
// list holds different types of Object arrays, let's print them
for (Object[] objArr : list) {
System.out.println(Arrays.toString(objArr));
// iterating over the array and doing operation based on it's type
for (Object obj : objArr) {
// using instanceof keyword to find the Object type in the 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;
}
}
}
Когда мы выполняем вышеуказанную программу, она выдает следующий вывод.
[a, b, c]
[1, 2, 3, 4]
[A.class::AA, A.class::BB]
Это все, что нужно для создания Array of ArrayList и ArrayList of Array в Java.
Вы можете проверить больше основных примеров Java из нашего репозитория GitHub.
Ссылка: Массивы Java