Java 數組的 ArrayList,ArrayList 的數組

今天我們將學習如何創建一個 Java 的 ArrayList 陣列。我們還將學習如何創建一個包含陣列元素的 ArrayList。

Java 的 ArrayList 陣列

在 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];

Java 的 ArrayList 陣列

我們還可以創建一個其元素為列表的陣列。以下是一個在 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 Object Array的ArrayList

如果您不确定数组中对象的类型,或者想要创建一个可以容纳多种类型的数组的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) {
		// 用于保存不同类型数组的Object数组列表
		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);

		// 列表保存不同类型的Object数组,让我们打印它们
		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]

关于在Java中创建ArrayList和Array的内容就介绍到这里。

您可以从我们的GitHub仓库查看更多核心Java示例。

参考:Java Arrays

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