Trong bài viết này, chúng ta sẽ cùng tìm hiểu các kiến thức cơ bản về các Interface khác nhau của Collection Framework trong Java.
Collection Framework
Collection Framework cung cấp một tập hợp các Interface và lớp để triển khai các cấu trúc dữ liệu và thuật toán khác nhau.
Ví dụ, lớp LinkedList của Collection Framework cung cấp việc triển khai cho cấu trúc dữ liệu danh sách được liên kết kép.
Các Interface
Chúng ta sẽ tìm hiểu chi tiết về các Interface này, các Interface con của chúng và cách triển khai trong các lớp khác nhau trong các bài sau. Trong bài này, ta sẽ cùng đi qua các khái niệm cơ bản.
Collection Interface
Collection Interface là Interface gốc của hệ thống phân cấp Collection Framework.
Java không cung cấp triển khai trực tiếp Collection Interface nhưng cung cấp triển khai cho các Interface con của nó như List, Set hay Queue
So sánh Collection Framework với Collection Interface
Mọi người thường bị nhầm lẫn giữa Collection Framework và Collection Interface. Collection Interface là Interface gốc của Collection Framework. Framework bao gồm các Interface khác như Map và Iterator. Các Interface này cũng có thể có các Interface con.
Các Interface con của Collection Interface
Như đã đề cập, Collection Interface bao gồm các interface con được thực hiện bởi các lớp Java. Tất cả các phương thức của Collection Interface cũng có trong các Interface con của nó.
Dưới đây là các Interface con của Collection Interface:
1. List Interface
List Interface là một tập hợp có thứ tự cho phép chúng ta thêm và bớt các phần tử như một mảng.
2. Set Interface
Set Interface cho phép chúng ta lưu trữ các phần tử trong các tập hợp khác nhau tương tự như tập hợp trong toán học. Nó không có các phần tử trùng lặp.
3. Queue Interface
Queue Interface đượ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 Vào trước và Ra trước.
4. Map Interface
Trong Java, Map Interface cho phép các phần tử được lưu trữ trong các cặp khóa và giá trị. Khóa là các tên duy nhất có thể được sử dụng để truy cập một phần tử cụ thể trong Map. Và mỗi khóa có một giá trị duy nhất được liên kết với nó.
5. Iterator Interface
Trong Java, Iterator Interface cung cấp các phương thức có thể được sử dụng để truy cập các phần tử của tập hợp.
Tại sao lại sử dụng Collection Framework?
- Collection Framework 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 không cần phải viết lại các đoạn mã để triển khai các cấu trúc dữ liệu và thuật toán theo cách thủ công.
- Đoạn mã sẽ trở nên hiệu quả hơn nhiều vì Collection Framework đã được tối ưu hóa.
- Hơn nữa, Collection Framework cho phép sử dụng cấu trúc dữ liệu cụ thể cho một loại dữ liệu cụ thể.
- Ví dụ: Nếu chúng ta muốn dữ liệu của mình là duy nhất, thì chúng ta có thể sử dụng interface Set do Collection Framework cung cấp.
- Để lưu trữ dữ liệu tuân theo kiểu cặp khóa và giá trị, chúng ta có thể sử dụng Map Interface.
- Lớp ArrayList cung cấp chức năng của các mảng có thể thay đổi kích thước.
Trước khi kết thúc bài viết này, chúng ta sẽ lấy một ví dụ về lớp ArrayList của Collection Framework.
Lớp ArrayList cho phép tạo các mảng có thể thay đổi kích thước. Lớp này sẽ thực hiện triển khai List Interface (là một Interface con của Collection Interface).
Ví dụ về ArrayList:
1 2 3 4 5 6 7 8 9 10 11 |
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> a = new ArrayList<Integer>(); a.add(1); a.add(22); a.add(-2); System.out.println(a); } } |
Kết quả:
1 |
[1, 22, -2] |
Trong các bài viết sau, chúng ta sẽ cùng tìm hiểu chi tiết về collection framework (các interface và lớp của nó) cùng với các ví dụ dẫn chứng.
Trên đây là khái niệm và ví dụ cơ bản về Collection Framework trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài tiếp theo trên tek4 nhé!
P/s: Cảm ơn mọi người!