Trong bài này, chúng ta sẽ tìm hiểu về List interface trong Java và các hàm của nó.

Trong Java, List interface là một collection có trật tự cho phép chúng ta lưu trữ và truy cập tới các phần tử một cách tuần tự. Nó được mở rộng từ Collection interface.

Các class triển khai List interface

Vì List là một interface 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 interface, chúng ta có thể sử dụng các class sau:

Arraylist

Linkedlist

Vector

Stack

Các class này được định nghĩa trong Collection framework và chúng triển khai List interface.

1. Làm thế nào để sử dụng List?

Trong Java, chúng ta phải import gói java.util.List để 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 ta đã tạo các đối tượng list1 và list2 của các class ArrayList và LinkedList. Những đối tượng này có thể sử dụng các hàm của List interface.

2. Các hàm của list

List interface bao gồm tất cả các hàm của Collection interface. Bởi vì Collection là một lớp cha interface của List.

Một số hàm thường được sử dụng của Collection interface và cũng có sẵn trong List interface là:

  • add() – thêm một phần tử vào list
  • addAll() – thêm tất cả các phần tử của một list này vào list khác
  • get() – giúp truy cập ngẫu nhiên các phần tử từ list
  • iterator() – trả về đối tượng iterator có thể được sử dụng để truy cập tuần tự các phần tử của list
  • set() – thay đổi các phần tử của list
  • remove() – xóa một phần tử khỏi list
  • removeAll() – loại bỏ tất cả các phần tử khỏi list
  • clear()- loại bỏ tất cả các phần tử khỏi list (hàm này hiệu quả hơn hàm removeAll())
  • size() – trả về độ dài của list
  • toArray() – chuyển đổi một list thành một mảng
  • contains()- trả về true nếu một list chứa phần tử được chỉ định

3. Triển khai list interface

3.1 Triển khai class ArrayList

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: cafedevn@gmail.com
* Fanpage: https://www.facebook.com/cafedevn
* Instagram: https://instagram.com/cafedevn
* Twitter: https://twitter.com/CafedeVn
* Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

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);
    }
}

Kết quả

List: [1, 2, 3]
Accessed Element: 3
Removed Element: 2

Để tìm hiểu thêm về ArrayList, hãy truy cập ArrayList trong Java.

3.2 Triển khai class LinkedList

/**
* Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
*
* @author cafedevn
* Contact: cafedevn@gmail.com
* Fanpage: https://www.facebook.com/cafedevn
* Instagram: https://instagram.com/cafedevn
* Twitter: https://twitter.com/CafedeVn
* Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

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);
    }
}

Kết quả

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 LinkedList trong Java.

4. List và Set trong Java

Cả List interface và Set interface đều thừa hưởng từ Collection interface. Tuy nhiên, có một vài sự khác biệt giữa chúng.

List có thể bao gồm các phần tử trùng lặp. Tuy nhiên, set không thể có các phần tử trùng lặp.

Các phần tử trong list được lưu trữ theo thứ tự. Tuy nhiên, các phần tử trong set được lưu trữ trong các nhóm 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ẽ thấy cách triển khai của nó trong các class ArrayListLinkedList một cách chi tiết trong các bài tiếp theo.

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!