Java Collection Framework là một trong những thư viện quan trọng nhất trong ngôn ngữ lập trình Java. Nó cung cấp một số giao diện (interface) và lớp (class) để quản lý và thao tác với các tập hợp dữ liệu. Trong bài viết này, chúng tôi sẽ hướng dẫn làm việc với 3 inteface List, Set và Map, và cách sử dụng chúng một cách hiệu quả.
- List
- List là một giao diện để lưu trữ và quản lý các phần tử theo thứ tự.
- Các lớp triển khai List phổ biến là ArrayList và LinkedList.
- Sử dụng ArrayList khi cần truy cập nhanh chóng các phần tử dựa trên chỉ mục.
- Sử dụng LinkedList khi cần chèn hoặc xóa phần tử thường xuyên.
- Set
- Set là một giao diện để lưu trữ các phần tử không trùng lặp.
- Các lớp triển khai Set phổ biến là HashSet, TreeSet và LinkedHashSet.
- Sử dụng HashSet khi cần truy cập nhanh chóng và không quan tâm đến thứ tự.
- Sử dụng TreeSet khi cần dữ liệu được sắp xếp theo thứ tự tự nhiên.
- Sử dụng LinkedHashSet khi cần dữ liệu được sắp xếp theo thứ tự chèn.
- Map
- Map là một giao diện để lưu trữ các cặp key-value.
- Các lớp triển khai Map phổ biến là HashMap, TreeMap và LinkedHashMap.
- Sử dụng HashMap khi cần truy cập nhanh chóng dựa trên key và không quan tâm đến thứ tự.
- Sử dụng TreeMap khi cần dữ liệu được sắp xếp theo thứ tự tự nhiên của key.
- Sử dụng LinkedHashMap khi cần dữ liệu được sắp xếp theo thứ tự chèn của key.
Tóm tắt sử dụng ba inteface của Java Collection Framework:
Interface | Đặc điểm | Lớp triển khai phổ biến |
---|---|---|
List | – Lưu trữ các phần tử theo thứ tự
– Cho phép trùng lặp |
ArrayList, LinkedList |
Set | – Lưu trữ các phần tử không trùng lặp
– Không đảm bảo thứ tự |
HashSet, TreeSet, LinkedHashSet |
Map | – Lưu trữ các cặp key-value
– Key phải là duy nhất |
HashMap, TreeMap, LinkedHashMap |
Với các đặc điểm của từng class cụ thể trong Java Collection, tùy thuộc vào yêu cầu nghiệp vụ thực tế cần quản lý lưu trữ tập hợp cũng như thao tác trên tập hợp mà chúng ta sẽ chọn class cụ thể để quản lý và thao tác trên tập hợp hiệu quả và tăng hiệu năng hệ thống.
Giảng viên: Hà Thanh Liêm
Bộ môn Ứng dụng phần mềm
FPT Polytechnic TP HCM