Java LinkedList
Trong chương trước, bạn đã tìm hiểu về ArrayList
lớp học. Các LinkedList
lớp học là gần giống như 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
Các LinkedList
lớp học là một bộ sưu tập có thể chứa nhiều đối tượng cùng loại, giống như ArrayList
.
Các LinkedList
lớp có tất cả các phương pháp tương tự như các ArrayList
lớp học vì cả hai đều thực hiện các 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
Các ArrayList
lớp học có một mảng bình 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 LinkedList
như để 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. | Try it » |
addLast() | Add an item to the end of the list | Try it » |
removeFirst() | Remove an item from the beginning of the list. | Try it » |
removeLast() | Remove an item from the end of the list | Try it » |
getFirst() | Get the item at the beginning of the list | Try it » |
getLast() | Get the item at the end of the list | Try it » |