今天我们将学习如何创建Java数组ArrayList。我们还将学习如何创建数组元素的 ArrayList。
Creating array of list in java is not complex. Below is a simple program showing java Array of ArrayList example.
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 中创建数组元素列表。
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));
}
}
}
如果您不确定数组中对象的类型或者想要创建一个数组列表可以容纳多种类型的数组,然后您可以创建对象数组的 ArrayList。下面是一个简单的例子,展示了如何在java中创建对象数组的ArrayList。
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]
这就是在 Java 中创建 ArrayList 的 Array 和 ArrayList 的全部内容。
您可以从我们的网站查看更多核心 Java 示例GitHub 存储库.
参考:Java 数组