NỘI DUNG BÀI VIẾT
Hôm nay chúng ta sẽ học cách tạo một mảng ArrayList trong Java. Chúng ta cũng sẽ học cách tạo ArrayList gồm các phần tử mảng.
Array của ArrayList trong Java
Tạo mảng của ArrayList trong java không phức tạp. Dưới đây là một chương trình đơn giản hiển thị ví dụ về mảng của ArrayList trong java.
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);
}
}
}
Code language: JavaScript (javascript)
Lưu ý rằng chúng ta không thể sử dụng generic trong khi tạo mảng vì java không hỗ trợ mảng chung. Vì vậy, nếu chúng ta cố gắng sử dụng mã bên dưới, nó sẽ tạo ra lỗi thời gian biên dịch là “Cannot create a generic array of List<String>”.
List<String>[] arrayOfList = new List<String>[2];
Code language: JavaScript (javascript)
ArrayList của Array trong Java
Chúng ta cũng có thể tạo một mảng có các phần tử là một danh sách. Dưới đây là một ví dụ đơn giản cho thấy cách tạo danh sách 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)); } } }
ArrayList of Object Array trong Java
Nếu bạn không chắc chắn về loại đối tượng trong mảng hoặc bạn muốn tạo ArrayList của mảng có thể chứa nhiều loại, thì bạn có thể tạo ArrayList của một mảng đối tượng.
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;
}
}
}
Code language: JavaScript (javascript)
Khi chúng ta thực hiện chương trình trên, nó sẽ tạo ra kết quả sau.
[a, b, c]
[1, 2, 3, 4]
[A.class::AA, A.class::BB]
Code language: JSON / JSON with Comments (json)
Trên đây là một số kiến thức về Array và ArrayList trong Java.
Happy learning!!!