1. Những hạn chế của mảng
Hạn chế đầu tiên mà chúng ta có thế thấy ngay đó là fixed in size - kích thước mảng phải cố định dẫn đến hàng loạt khuyết điểm:
- Tràn vùng nhớ / lãng phí bộ nhớ
- Vùng nhớ liên tục dẫn đến chèn / xóa phần tử mất nhiều thời gian, do phải sắp xếp lại.
- Low-level không thể tùy chỉnh các tính năng.
2. Collections trong Java
Collections là một tập các lớp dùng để lưu trữ danh sách và có khả năng tự co dãn khi danh sách đó thay đổi. Một đặc điểm rất quan trong là khi sử dụng Collections đó là chúng ta không cần phải khai báo trước số lượng phần tử. Chính đặc điểm này đã khắc phục được hạn chế về kích thước khi khai báo mảng trong Java. Hơn nữa Collections cho phép chúng ta tùy biến các phương thức, hay khởi tạo riêng 1 lớp để phục vụ mục đích riêng biệt3. Collections Framework
Collections Framework là một tập hợp các lớp (class) và các interface dùng để hỗ trợ việc thao tác trên tập các đối tượng đạt hiệu suất cao. Cho phép kế thừa và tìm hiểu các tập hợp 1 cách dễ dàngCollections Framework cung cấp những thành phần sau:
| Loại | Mô tả |
|---|---|
| Interfaces | Các phương thức mà các lớp cần phải có để hỗ trợ việc thao tác trên tập hợp |
| Implementations | Các lớp triển khai các Interface.Về bản chất chùng là những cấu trúc dữ liệu có thể tái sử dụng. |
| Algorithms | Các thuật toán xữ lý các phương thức được triển khai trong interface. |
4. Thành phần Interface
Hầu hết các thành phần interface trong collections đều có chung 1 parent interface là java.util.Collection (ngoại trừ Map) qua đó được kế thừa một số phương thức của Collection interface như thêm (add), loại bỏ (remove), kiểm tra tồn tại (contains) hay duyệt danh sách thông qua Iterable interfaceDưới đây danh sách các interfaces trong collections:
| Tên các thành phần | Đặc điểm |
|---|---|
| List | Các phần tử được tổ chức thành 1 chuỗi liên tục. List quản lý các phần tử thông qua cơ chế index-based (chỉ số) |
| Queue | |
| Set | Các phần tử trong Set không được sắp xếp và các phần tử không được trùng nhau |
| Sorted Set | Một dạng tùy biến của Set, các phần tử sẽ được sắp xếp mặc định tăng dần |
| Map | Phần tử trong Map sẽ được tổ chức dưới dạng cặp key - value. Một phần tử sẽ được quản lý (truy xuất) thông qua khóa tương ứng của nó và các khóa này phải đảm bảo điều kiện duy nhất. |
| Sorted Map | Một dạng tùy biến của Map, trong đó các giá trị khóa sẽ được sắp xấp tăng dần. |
5. Thành phần Implementations
Collections cung cấp rất nhiều các imlementations (lớp) tiêu chuẩn để triển khai các Interface ở trên. Và dưới đây là một số implementation thông dụng nhất:| Tên | Đặc điểm |
|---|---|
| ArrayList | |
| LinkedList | |
| HashSet | |
| TreeSet | |
| HashMap | |
| TreeMap |


No comments:
Post a Comment