Java LinkedList
Java LinkedList
Trong chương trước, bạn đã tìm hiểu về ArrayList
lớp học. Lớp LinkedList
gần như giống hệt với
ArrayList
:
Thí dụ
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList so với LinkedList
Lớp LinkedList
là một tập hợp có thể chứa nhiều đối tượng cùng kiểu, giống như ArrayList
.
Lớp LinkedList
có tất cả các phương thức giống như ArrayList
lớp vì cả hai đều triển khai List
giao diện. Điều này có nghĩa là bạn có thể thêm mục, thay đổi mục, xóa mục và xóa danh sách theo cách tương tự.
Tuy nhiên, trong khi ArrayList
lớp và LinkedList
lớp có thể được sử dụng theo cùng một cách, chúng được xây dựng rất khác nhau.
Cách hoạt động của ArrayList
Lớp ArrayList
có một mảng thông thường bên trong nó. Khi một phần tử được thêm vào, nó sẽ được đặt vào mảng. Nếu mảng không đủ lớn, một mảng mới lớn hơn được tạo để thay thế mảng cũ và mảng cũ bị xóa.
Cách thức hoạt động của LinkedList
Các LinkedList
cửa hàng lưu trữ các mặt hàng của nó trong "thùng chứa". Danh sách có liên kết đến vùng chứa đầu tiên và mỗi vùng chứa có liên kết đến vùng chứa tiếp theo trong danh sách. Để thêm một phần tử vào danh sách, phần tử được đặt vào một vùng chứa mới và vùng chứa đó được liên kết với một trong những vùng chứa khác trong danh sách.
Khi nào sử dụng
Sử dụng một ArrayList
để lưu trữ và truy cập dữ liệu cũng như LinkedList
để thao tác dữ liệu.
Phương thức danh sách liên kết
Đối với nhiều trường hợp, cách ArrayList
này hiệu quả hơn vì thông thường cần truy cập vào các mục ngẫu nhiên trong danh sách, nhưng LinkedList
cung cấp một số phương pháp để thực hiện các hoạt động nhất định hiệu quả hơn:
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |