Trong hướng dẫn này, chúng ta sẽ tìm hiểu về giao diện List trong Java và các phương thức của nó.
Trong Java, List
giao diện là một tập hợp có thứ tự cho phép chúng ta lưu trữ và truy cập các phần tử một cách tuần tự. Nó mở rộng Collection
giao diện.
Các lớp triển khai danh sách
Vì List
là một giao diện nên chúng ta không thể tạo các đối tượng từ nó.
Để sử dụng các chức năng của List
giao diện, chúng ta có thể sử dụng các lớp sau:
- Lập danh sách
- LinkedList
- Véc tơ
- Cây rơm
Các lớp này được định nghĩa trong khung Collections và triển khai List
giao diện.
Làm thế nào để sử dụng Danh sách?
Trong Java, chúng ta phải nhập java.util.List
gói để sử dụng List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Ở đây, chúng tôi đã tạo các đối tượng list1 và list2 của các lớp ArrayList
và LinkedList
. Các đối tượng này có thể sử dụng các chức năng của List
giao diện.
Phương pháp danh sách
Các List
giao diện bao gồm tất cả các phương pháp của Collection
giao diện. Bởi vì nó Collection
là một giao diện siêu của List
.
Một số phương pháp thường được sử dụng của Collection
giao diện cũng có sẵn trong List
giao diện là:
add()
- thêm một phần tử vào danh sáchaddAll()
- thêm tất cả các phần tử của danh sách này vào danh sách khácget()
- giúp truy cập ngẫu nhiên các phần tử từ danh sáchiterator()
- trả về đối tượng trình lặp có thể được sử dụng để truy cập tuần tự các phần tử của danh sáchset()
- thay đổi các phần tử của danh sáchremove()
- xóa một phần tử khỏi danh sáchremoveAll()
- xóa tất cả các phần tử khỏi danh sáchclear()
- loại bỏ tất cả các phần tử khỏi danh sách (hiệu quả hơnremoveAll()
)size()
- trả về độ dài của danh sáchtoArray()
- chuyển đổi một danh sách thành một mảngcontains()
- trả vềtrue
nếu danh sách chứa phần tử được chỉ định
Triển khai giao diện danh sách
1. Triển khai lớp ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Đầu ra
Danh sách: (1, 2, 3) Phần tử được truy cập: 3 Phần tử bị xóa: 2
Để tìm hiểu thêm ArrayList
, hãy truy cập Java ArrayList.
2. Triển khai lớp LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Đầu ra
Danh sách: (1, 2, 3) Phần tử được truy cập: 3 Vị trí của 3 là 1 Phần tử bị loại bỏ: 2
Để tìm hiểu thêm về LinkedList
, hãy truy cập Java LinkedList.
Danh sách Java so với Bộ
Cả List
giao diện và Set
giao diện đều kế thừa Collection
giao diện. Tuy nhiên, có một số khác biệt giữa chúng.
- Danh sách có thể bao gồm các phần tử trùng lặp. Tuy nhiên, tập hợp không được có các phần tử trùng lặp.
- Các phần tử trong danh sách được lưu trữ theo một số thứ tự. Tuy nhiên, các phần tử trong tập hợp được lưu trữ trong các nhóm giống như tập hợp trong toán học.
Bây giờ chúng ta đã biết List
là gì , chúng ta sẽ xem các triển khai của nó trong ArrayList
và LinkedList
các lớp chi tiết trong các hướng dẫn tiếp theo.