Java ArrayList的Array,Array的ArrayList
时间:2020-02-23 14:36:21 来源:igfitidea点击:
今天,我们将学习如何创建ArrayList的Java数组。
我们还将学习如何创建数组元素的ArrayList。
Java ArrayList的数组
在Java中创建列表数组并不复杂。
下面是一个简单的程序,显示了ArrayList的java Array示例。
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];
Java 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 Array对象数组列表
如果不确定数组中对象的类型,或者要创建可以容纳多种类型的数组的ArrayList,则可以创建对象数组的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 hyman * */ 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]