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

Nền tảng Java bao gồm một collections framework. Framework cung cấp một bộ các interface và các class để thực hiện các cấu trúc dữ liệu và thuật toán khác nhau.

Ví dụ, class LinkedList của collections framework thực hiện cấu trúc dữ liệu danh sách liên kết đôi.

1. Interface của collections framework

Collections framework trong Java có nhiều interface khác nhau. Các interface này bao gồm nhiều hàm để thực hiện các toán tử khác nhau với collections.

Trong các chương sau , chúng ta sẽ tìm hiểu về các interface nói trên, các interface con của chúng và cách triển khai trong các class một cách chi tiết. Còn trong hướng dẫn này, chúng ta hãy tìm hiểu sơ qua về các interface thường được sử dụng.

2. Collection Interface trong Java

Collection Interface là một root Interface có trong collections framework.

Java không cung cấp việc triển khai trực tiếp Collection interface nhưng lại triển khai các interface con của nó như List, Set, và Queue.

3. Collections Framework Và Collection Interface

Mọi người thường bị nhầm lẫn giữa collections framework và Collection Interface. Collection Interface là Interface có trong collections framework. Framework cũng bao gồm các interface khác là Map và Iterator. Các interface này cũng có thể có interface con.

4. Interface con của Collection Interface

Như đã đề cập trước đó, Collection interface bao gồm các interface con được triển khai bởi các class trong Java.

Tất cả các hàm của Collection interface cũng có mặt trong các interface con của nó.

Dưới đây là các interface con của Collection Interface:

List Interface

List interface là một collection có trật tự cho phép ta thêm vào và loại bỏ các phần tử như ở trong mảng.

Set interface

Các Set interface cho phép ta lưu trữ các phần tử trong các set khác nhau, các set này  tương tự như các set ở trong toán học. Nó không thể có các phần tử trùng lặp.

Queue Interface

Các Queue interface được sử dụng khi chúng ta muốn để lưu trữ và truy cập tới các phần tử theo cách First In First Out (nhập trước thì xuất trước).

Map Interface trong Java

Trong Java, Map interface cho phép các phần tử được lưu trữ trong các cặp key/value. Key là tên duy nhất được sử dụng để truy cập tới một phần tử cụ thể trong map. Mỗi key có một giá trị đơn liên quan đến nó.

Iterator Interface trong Java

Trong Java, Iterator interface cung cấp các phương thức được sử dụng để truy cập các phần tử của collection.

Tại sao có tên gọi Collections Framework?

Các collections framework trong Java cung cấp các cấu trúc dữ liệu và thuật toán khác nhau có thể được sử dụng trực tiếp. Điều này có hai ưu điểm chính:

Chúng ta sẽ không phải viết code để thực hiện các cấu trúc dữ liệu và thuật toán theo cách thủ công.

Code của chúng ta sẽ hiệu quả hơn nhiều vì collections framework có tính tối ưu hóa cao.

Hơn nữa, collections framework cho phép chúng ta sử dụng một cấu trúc dữ liệu cụ thể cho một kiểu dữ liệu xác định. Sau đây là vài ví dụ,

Nếu ta muốn dữ liệu của mình là duy nhất, thì ta có thể sử dụng Set interface trong collections framework.

Để lưu trữ dữ liệu theo các cặp key/value , chúng ta có thể sử dụng Map interface.

Lớp ArrayList học cung cấp các chức năng khác nhau của các mảng có sự biến thiên về độ dài (mảng có thể thay đổi độ dài).

Ví dụ: Class ArrayList trong Collections

Trước khi kết thúc bài học này, hãy lấy một ví dụ về Class ArrayList trong collections framework.

Lớp ArrayList cho phép chúng ta tạo ra các mảng có thể thay đổi độ dài. Class này triển khai List interface (là interface con của Collection interface).

/**
* 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/
*/

// The Collections framework is defined in the java.util package
import java.util.ArrayList;

class Main {
    public static void main(String[] args){
        ArrayList<String> animals = new ArrayList<>();
        // Add elements
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");

        System.out.println("ArrayList: " + animals);
    }
}

Kết quả:

ArrayList: [Dog, Cat, Horse]

Trong các bài sau, chúng ta sẽ tìm hiểu về collections framework (interface và các class của nó) một cách chi tiết và kèm theo đó là các ví dụ.

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