Convert Array to List

Post Reply
User avatar
stararound
Posts: 27
Joined: Wed Apr 17, 2019 1:29 pm

Convert Array to List

Post by stararound »

Một mảng có thể chứa các kiểu dữ liệu nguyên thủy hoặc các đối tượng của một lớp tùy thuộc vào định nghĩa của mảng. Trong trường hợp các kiểu dữ liệu nguyên thủy, các giá trị thực được lưu trữ ở các vị trí bộ nhớ liền kề. Trong trường hợp các đối tượng của một lớp, các đối tượng thực tế được lưu trữ trong phân đoạn heap.

Java.util.List là interface con của Collection. Nó là một tập hợp các đối tượng theo thứ tự trong đó có thể lưu trữ các giá trị trùng lặp. List cho phép truy cập vị trí và chèn các phần tử. List được implement bởi các lớp ArrayList, LinkedList, Vector và Stack.

Đôi khi dữ liệu chúng ta nhận được là 1 mảng, cần chuyển đổi sang List để tiện cho một số xử lý khác, có nhiều cách để làm:

Ví dụ cho mảng các String:
String array[] = { "str1", "str2", "str3" };

Cách 1: đơn giản nhất

Code: Select all

// tạo 1 List trống 
List<String> list = new ArrayList<>(); 
  
// lặp qua mảng
for (String str : array) { 
	// Add từng phần tử vào mảng 
	list.add(str); 
}
Cách 2: dùng Arrays.asList()

Code: Select all

List<String> list = Arrays.asList(array);
Cách 3: dùng Collections.addAll()

Code: Select all

// tạo 1 List trống 
List<String> list = new ArrayList<>(); 

// Add array to list
Collections.addAll(list, array); 
Cách 4: dùng Lists.newArrayList()
Chú ý ta cần import com.google.common.collect.Lists.*;

Code: Select all

// create a list from the Array 
List<String> list = Lists.newArrayList(array);
Còn có thể có cách khác nữa nhưng với 4 cách trên thì ta đã xử lý tốt cho mục đích chính rồi :lol:

Post Reply