Trang chủHướng dẫnCách tạo ArrayList trong Java
Java

Cách tạo ArrayList trong Java

CyStack blog 3 phút để đọc
CyStack blog11/09/2025
Locker Avatar

Bao Tran

Web Developer

Locker logo social
Reading Time: 3 minutes

Hôm nay chúng ta sẽ học cách tạo ArrayList trong Java cũng như cách tạo ArrayList chứa các phần tử mảng.

Cách tạo ArrayList trong Java

Mảng các ArrayList trong Java

 

Mảng chứa ArrayList trong JavaJava Array of ArrayList

Việc tạo mảng các arraylist trong Java không hề phức tạp. Dưới đây là chương trình đơn giản minh họa ví dụ:

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);
		}

	}

}

Lưu ý, chúng ta không thể dùng Generics khi tạo mảng vì Java không hỗ trợ generic array.

Nếu thử đoạn code dưới đây, trình biên dịch sẽ báo lỗi: Cannot create a generic array of List.

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

Java ArrayList of Array

Chúng ta cũng có thể tạo ArrayList mà các phần tử của nó là mảng. Dưới đây là ví dụ đơn giản minh họa cách tạo danh sách chứa các phần tử mảng trong 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));
		}
	}

}

Mảng chứa ArrayList trong Java

Java ArrayList of Object Array

Nếu bạn không chắc về kiểu dữ liệu trong mảng, hoặc muốn tạo ArrayList chứa nhiều kiểu dữ liệu khác nhau, có thể tạo ArrayList của mảng đối tượng (Object Array).

Ví dụ:

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;
		}
	}
}

Khi chạy chương trình trên, bạn sẽ nhận được kết quả như sau.

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

Trên đây là hướng dẫn tạo mảng các ArrayList và ArrayList các mảng trong Java.

Bạn có thể tham khảo thêm nhiều ví dụ Java core khác trong GitHub Repository của chúng tôi.

Tham khảo: Java Arrays

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất