Danh sách và mảng là hai cách lưu trữ dữ liệu trong Java mà bạn sẽ sử dụng khá thường xuyên. Trong các dự án mà bạn cần lưu trữ dữ liệu mà không cần bất kỳ loại xử lý tệp nào, danh sách và mảng cho phép bạn lưu trữ dữ liệu trong suốt quá trình thực thi chương trình của mình. Chúng ta sẽ sử dụng Class ArrayList thực hiện Giao diện danh sách trong Java thay thế cho nhau trong suốt hướng dẫn này.
Sự khác biệt giữa Danh sách và Mảng
Danh sách |
Mảng |
Kích thước của một danh sách có thể được thay đổi |
Kích thước của một mảng không thể thay đổi |
Bạn không thể lưu trữ các loại Nguyên thủy trong Danh sách |
Bạn có thể lưu trữ các kiểu Nguyên thủy trong Mảng |
Bạn có thể sử dụng Generics với Danh sách |
Bạn không thể sử dụng Generics với Array |
Tiêu thụ nhiều bộ nhớ hơn |
Tiêu thụ ít bộ nhớ hơn |
Chuyển đổi danh sách thành mảng với chức năng thư viện
Danh sách có một phương thức
toArray() trực tiếp chuyển đổi nội dung của bất kỳ danh sách nào thành một mảng trong khi vẫn giữ nguyên vị trí của văn bản trong Mảng giống như trong danh sách ban đầu. Đây là thuật toán/các bước để chuyển đổi danh sách thành mảng trong java bằng hàm thư viện tích hợp này.
- Khởi tạo một ArrayList.
- Thêm các phần tử vào Danh sách thông qua phương thức list.add(data_type) .
- Tạo một Mảng có cùng kích thước với danh sách.
- Chuyển đổi Danh sách thành Mảng bằng cách sử dụng tên biến của mảng được tạo ở bước 3 làm đối số.
- In nội dung của Array.
Mã thực hiện các bước này được đưa ra dưới đây.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
//Converting List to Array With Library Function
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting List to Array
sampleList.toArray(arr);
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Chuyển đổi danh sách thành mảng không có chức năng thư viện
Đôi khi, có thể có yêu cầu chuyển đổi danh sách thành một mảng mà không cần sử dụng các hàm tích hợp sẵn. Vấn đề hiện tại có thể sử dụng một số hạn chế nhất định về chức năng thư viện. Yêu cầu này là phổ biến đối với sinh viên lập trình được khuyến khích làm việc mà không có chức năng thư viện để giúp họ tìm hiểu hoạt động bên trong của các chức năng này trước khi thực hiện chúng. Trong những trường hợp như vậy, bạn có thể sử dụng các bước sau để chuyển đổi danh sách thành mảng trong java mà không cần bất kỳ hàm thư viện nào.
- Khởi tạo một ArrayList.
- Thêm các phần tử vào Danh sách thông qua phương thức list.add(data_type) .
- Tạo một Mảng có cùng kích thước với danh sách.
- Tạo một vòng lặp for sẽ lặp qua từng phần tử của ArrayList và chuyển nó đến Array[index] thông qua hàm list.get(index) .
- In nội dung của Mảng để cho biết bạn đang thực sự chuyển đổi danh sách thành một mảng.
Mã để thực hiện các bước này được đưa ra dưới đây.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
//Converting List to Array Without Library Functions
//Declaration of Array List
ArrayList<String> sampleList = new ArrayList<String>();
//Adding Elements to Array List
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
//Printing the Array List
System.out.println("Elements of List: " + sampleList);
//Declaring Array with Equal Size to the List
String[]arr = new String [sampleList.size()];
//Converting to Array
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
//Printing the Array
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Tương tự, nếu bạn cũng đang tự hỏi làm thế nào để chuyển đổi Mảng thành Danh sách, bạn có thể làm như vậy bằng cách sử dụng phương thức Array.asList() tích hợp sẵn hoặc lặp qua mảng và lưu trữ giá trị tại mỗi chỉ mục trong Danh sách.
Pavlo Plynko
Tại
Before becoming a developer, Pavlo devoted 15 years to system administration, but he understood that he did not want to do this fo ...
[Đọc toàn bộ tiểu sử]
GO TO FULL VERSION