Collections framework và collection interface trong Java

Đây là bài 41/62 bài của series môn học Ngôn ngữ lập trình Java

1. Collections framework trong Java

Collections framework trong Java cung cấp nhiều interface lớp để lưu trữ các cấu trúc dữ liệu cũng như cài đặt các thuật toán khác nhau. Ví dụ: lớp LinkedList trong collections framework cung cấp cách lưu trữ và các thao tác trên danh sách liên kết đôi (doubly-linked list).

Các interface của collections framework

Java collections framework cũng cấp nhiều interface khác nhau. Những interface này bao gồm những phương thức để thao tác trên các cấu trúc dữ liệu.

Collections framework trong Java

Trong sơ đồ trên, Java collections framework gồm các interface gốc (root interface) là Collection, MapIterator.

Collection interface

Đừng nhầm lẫn giữa Collections framework và Collection interface. Collection interface là một interface gốc trong Collections framework. Collections framework còn có những interface khác là Map Iterator. Những interface này có thể được kế thừa bởi các interface khác. Các interface List, Set, Queue kế thừa từ Collection interface.

List interface: Có các phương thức giúp lưu trữ và thao tác với tập hợp các phần tử giống như mảng. Các thao tác thường dùng là sắp xếp các phần tử, thêm hoặc xóa các phần tử.

Set interface: Cho phép chúng ta lưu trữ các phần tử trong những tập hợp khác nhau. Nhưng không thể có 2 phần tử giống nhau trong cùng một tập hợp.

Queue interface: Có thể được sử dụng khi chúng ta muốn lưu trữ và truy cập các phần tử theo cơ chế First In, First Out.

Các phương thức của collection interface

    • add() thêm phần tử vào cấu trúc dữ liệu
    • size() trả về kích thước (số lượng các phần tử) trong cấu trúc dữ liệu
    • remove() xóa phần tử trong cấu trúc dữ liệu
    • iterator() trả về một iterator để truy cập các phần tử trong cấu trúc dữ liệu
    • addAll() thêm tất cả phần tử của một cấu trúc dữ liệu này vào một cấu trúc dữ liệu khác
    • removeAll() xóa tất cả các phần tử được xác định trong cấu trúc dữ liệu
    • clear() xóa tất cả các phần tử trong cấu trúc dữ liệu

Map interface

Map interface cho phép lưu trữ các phần tử theo cặp key, value. Key có tên duy nhất trong một Map và có thể sử dụng để truy xuất ra value của key đó.

Iterator interface

Iterator interface cung cấp những phương thức để truy cập vào các phần tử trong các cấu trúc dữ liệu có thể được lưu trữ với collections framework.

2. Lợi ích khi sử dụng collections framework

Có 2 lợi ích chính khi sử dụng collections framework:

    • Chúng ta không cần viết code lưu trữ và xử lý từng cấu trúc dữ liệu
    • Code của chúng ta sẽ được tối ưu tốt bởi framework

Hơn nữa, collections framework cũng hỗ trợ chúng ta những cấu trúc dữ liệu đặc biệt. Ví dụ:

    • Nếu muốn lưu trữ cấu trúc dữ liệu mà các phần tử trong đó là duy nhất thì có thể sử dụng Set interface.
    • Để lưu trữ cặp dữ liệu key, value thì sử dụng Map interface.
    • Lớp ArrayList giúp lưu trữ các phần tử như mảng (array) nhưng mảng này có thể thay đổi kích thước.

Bên dưới là một ví dụ về sử dụng lớp ArrayList trong collections framework.

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]

Chúng ta hoàn toàn yên tâm về tối ưu code khi sử dụng các cấu trúc dữ liệu và thuật toán mà collections framework trong Java hỗ trợ.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< Cách xử lý ngoại lệ (exceptions) trong JavaJava collections framework: List interface và lớp ArrayList >>
Chia sẻ trên mạng xã hội:

Để lại một bình luận

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.