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:
- ArrayList
- LinkedList
- Vector
- Stack
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<String> list1 = new ArrayList<>();
// LinkedList implementation of List
List<String> 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()
– adds an element to a listaddAll()
– adds all elements of one list to anotherget()
– helps to randomly access elements from listsiterator()
– returns iterator object that can be used to sequentially access elements of listsset()
– changes elements of listsremove()
– removes an element from the listremoveAll()
– removes all the elements from the listclear()
– removes all the elements from the list (more efficient thanremoveAll()
)size()
– returns the length of liststoArray()
– converts a list into an arraycontains()
– returnstrue
if a list contains specified element
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<Integer> 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
List: [1, 2, 3] Accessed Element: 3 Removed Element: 2
Để tìm hiểu thêm về 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<Integer> 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
List: [1, 2, 3] Accessed Element: 3 Position of 3 is 1 Removed Element: 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, tồn tại một số khác biệt giữa chúng.
- Lists can include duplicate elements. However, sets cannot have duplicate elements.
- Elements in lists are stored in some order. However, elements in sets are stored in groups like sets in mathematics.
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 một cách chi tiết trong các hướng dẫn tiếp theo.