Java 数组列表的数组、数组的数组列表

今天我们将学习如何创建一个Java Array 的 ArrayList,我们还将学习如何创建一个 ArrayList 的 Array 元素。

Java Array 或 ArrayList

java array of arraylist, array of lists in java Creating array of list in java is not complex. Below is a simple program showing java Array of ArrayList example.

 1import java.util.ArrayList;
 2import java.util.List;
 3
 4public class JavaArrayOfArrayList {
 5
 6    public static void main(String[] args) {
 7    	List<String> l1 = new ArrayList<>();
 8    	l1.add("1");
 9    	l1.add("2");
10
11    	List<String> l2 = new ArrayList<>();
12    	l2.add("3");
13    	l2.add("4");
14    	l2.add("5");
15
16    	List<String>[] arrayOfList = new List[2];
17    	arrayOfList[0] = l1;
18    	arrayOfList[1] = l2;
19
20    	for (int i = 0; i < arrayOfList.length; i++) {
21    		List<String> l = arrayOfList[i];
22    		System.out.println(l);
23    	}
24
25    }
26
27}

请注意,在创建数组时我们不能使用通用元素,因为java不支持通用数组,所以如果我们尝试使用下面的代码,它会产生编译时间错误,如无法创建列表<字符串>的通用数组

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

关于Java Array的评论

我们还可以创建一个数组,其元素是列表.以下是一个简单的示例,显示如何在java中创建一个列表的数组元素。

 1import java.util.ArrayList;
 2import java.util.Arrays;
 3import java.util.List;
 4
 5public class JavaArrayListOfStringArray {
 6
 7    public static void main(String[] args) {
 8    	// List of String arrays
 9    	List<String[]> list = new ArrayList<String[]>();
10    	
11    	String[] arr1 = { "a", "b", "c" };
12    	String[] arr2 = { "1", "2", "3", "4" };
13    	list.add(arr1);
14    	list.add(arr2);
15    	// printing list of String arrays in the ArrayList
16    	for (String[] strArr : list) {
17    		System.out.println(Arrays.toString(strArr));
18    	}
19    }
20
21}

java arraylist of array

Java 对象数列的列表

如果您不确定数组中的对象类型,或者想要创建可容纳多个类型的数组的 ArrayList,则可以创建一个对象数组的 ArrayList。

 1import java.util.ArrayList;
 2import java.util.Arrays;
 3import java.util.List;
 4
 5public class JavaArrayListOfObjectArray {
 6
 7    public static void main(String[] args) {
 8    	// list of Object arrays to hold different types of array
 9    	List<Object[]> list = new ArrayList<Object[]>();
10    	String[] arr1 = { "a", "b", "c" };
11    	String[] arr2 = { "1", "2", "3", "4" };
12
13    	JavaArrayListOfObjectArray aa = new JavaArrayListOfObjectArray();
14    	JavaArrayListOfObjectArray.A[] arr3 = { aa.new A("AA"), aa.new A("BB") };
15
16    	list.add(arr1);
17    	list.add(arr2);
18    	list.add(arr3);
19
20    	// list holds different types of Object arrays, let's print them
21    	for (Object[] objArr : list) {
22    		System.out.println(Arrays.toString(objArr));
23
24    		// iterating over the array and doing operation based on it's type
25    		for (Object obj : objArr) {
26
27    			// using instanceof keyword to find the Object type in the array
28    			if (obj instanceof String) {
29    				// doSomethingForStringObject();
30    			} else if (obj instanceof JavaArrayListOfObjectArray.A) {
31    				// doSomethingForAObject();
32    			}
33    		}
34    	}
35    }
36
37    /**
38     * A sample class to use in arraylist of arrays
39     * 
40     * @author pankaj
41     * 
42     */
43    public class A {
44    	private String name;
45
46    	public A(String n) {
47    		this.name = n;
48    	}
49
50    	public String getName() {
51    		return this.name;
52    	}
53
54    	@Override
55    	public String toString() {
56    		return "A.class::"+this.name;
57    	}
58    }
59}

当我们执行上述程序时,它会产生以下输出。

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

这就是在Java中创建一个ArrayList和ArrayList的全部。

您可以从我们的 GitHub 存储库中查找更多的核心 Java 示例。

引用: Java Arrays

Published At
Categories with 技术
Tagged with
comments powered by Disqus