Nội dung
FaCode Ngôn ngữ Java HashMap trong Java
Lớp HashMap trong Java
Lớp HashMap trong java là một lớp kế thừa lớp AbstractMap và triển khai của Map Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với Map. HashMap được sử dụng để lưu trữ các phần tử dưới dạng “key/value“. Key và value là kiểu dữ liệu bất kỳ, và bạn có thể truy cập các giá trị của HashMap bằng một key cụ thể.
Những điểm quan trọng về lớp HashMap trong java là:
- HashMap lưu trữ dữ liệu dưới dạng cặp key và value.
- Nó chứa các key duy nhất.
- Nó có thể có 1 key là null và nhiều giá trị null.
- Nó duy trì các phần tử KHÔNG theo thứ tự.
Hierarchy của lớp HashMap trong Java
Lớp HashMap extends lớp AbstractMap và implements giao diện Map.
Khai báo của lớp HashMap trong Java
Dưới đây là khai báo của lớp java.util.HashMap trong java
Trong đó:
- K: đây là kiểu key để lưu trữ.
- V: đây là kiểu giá trị được ánh xạ.
Constructor của lớp HashMap trong Java
Constructor | Mô tả |
HashMap() | Nó được sử dụng để khởi tạo một HashMap trống. |
HashMap(int capacity, float loadFactor) | Nó được sử dụng để xây dựng một HashMap trống với dung lượng (capacity) ban đầu được chỉ định và hệ số tải (load Factor) được chỉ định. |
HashMap(int capacity) | Nó được sử dụng để xây dựng một HashMap trống với dung lượng ban đầu được chỉ định và hệ số tải mặc định là 0,75. |
HashMap(Map t) | Nó được sử dụng để xây dựng HashMap mới với một Map đã cho. |
Phương thức của lớp HashMap trong Java
Sau đây là các phương thức của lớp HashMap hay được sử dụng trong lập trình Java.
Phương thức | Mô tả |
void clear() | Xóa tất cả các phần tử của HashMap. |
Object clone() | Trả về một bản copy của HashMap. |
boolean containsKey(Object key) | Trả về true nếu HashMap chứa một phần tử có key được chỉ định. |
boolean containsValue(Object value) | Trả về true nếu HashMap chứa một phần tử có giá trị (value) được chỉ định. |
Set entrySet() | Trả về Collection view các ánh xạ có trong HashMap. |
Object get(Object key) | Trả về giá trị của key được chỉ định. |
boolean isEmpty() | Trả về true nếu HashMap trống. |
Set keySet() | Trả về một Set interface chứa tất cả các key của HashMap. |
Object put(Object key, Object value) | Thêm một cặp key-value vào HashMap. |
void putAll(Map t) | Sao chép các phần tử của Map được chỉ định vào HashMap. |
Object remove(Object key) | Xóa một phần tử có key được chỉ định ra khởi HashMap. |
int size() | Trả về số phần tử của HashMap. |
Collection values() | Trả về Collection của các giá trị có trong HashMap. |
Khởi tạo một HashMap
Để khai báo một HashMap, chúng ta cần phải import gói thư viện java.util.HashMap của Java. Cú pháp import như sau:
Duyệt và hiển thị các phần tử có trong HashMap
Để hiển thị các phần tử có trong ArrayList, chúng ta có các cách như sau:
Hiển thị theo tên của HashMap
Bạn có thể sử dụng lệnh System.out.println(hashMap) để hiển thị ra thông tin của đối tượng hashMap. Ví dụ:
Chạy chương trình trên cho kết quả như sau:
Sử dụng vòng lặp for – duyệt các phần tử của HashMap
Ví dụ này chúng ta sẽ sử dụng hàm keySet() để lấy ra một đối tượng Set chứa các key của HashMap. Sau đó sử dụng vòng lặp for để lặp các key của đối tượng Set. Sử dụng các key này để lấy ra giá trị tương ứng được lưu trữ trong đối tượng HashMap:
Chạy chương trình trên cho kết quả như sau:
Sử dụng Map.Entry interface – duyệt các phần tử của HashMap
Bạn có thể sử dụng phương thức entrySet() để duyệt các phần tử của HashMap, phương thức này trả về một đối tượng Map.Entry. Ví dụ:
Chạy chương trình trên cho kết quả như sau:
Sử dụng Iterator – duyệt các phần tử của HashMap
Bạn có thể sử dụng phương thức keySet().iterator() để duyệt các phần tử của HashMap. Ví dụ:
Chạy chương trình trên cho kết quả như sau:
Truy cập phần tử của HashMap
Phương thức get(key) trả về giá trị của phần tử có key đã chỉ định, ví dụ:
Chạy chương trình trên cho kết quả như sau:
Cập nhật giá trị của phần tử HashMap
Phương thức put() được sử dụng để thêm phần tử, đồng thời bạn cũng có thể sử dụng phương thức này để cập nhật giá trị của phần tử hashMap, ví dụ:
Chạy chương trình trên cho kết quả như sau:
Xóa phần tử HashMap
Bạn có thể sử dụng phương thức remove() để xóa một phần tử, hoặc phương thức clear() để xóa hoàn toàn các phần tử của một HashMap. Ví dụ:
Chạy chương trình trên cho kết quả như sau:
Tạo HashMap có kiểu generic là đối tượng do người dùng định nghĩa
Ví dụ tạo một lớp Student, sau đó tạo một đối tượng HashMap với key có kiểu String, value có kiểu Student:
Lớp Student.java
Lớp HashMapExample6.java
Chạy chương trình trên cho kết quả như sau:
Sự khác nhau giữa HashSet và HashMap
Đây cũng là một câu hỏi phỏng vấn được hỏi với tần suất cao.
Câu trả lời là: HashSet chỉ chứa giá trị (value) trong khi HashMap chứa cặp key và value.
__________
7 Java frameworks phổ biến nhất hiện nay
________
FaCode là một seri học tập lập trình, lần này là FaCode ngôn ngữ Java, bằng mọi nỗ lực FaCode sẽ hoàn thành các mục tiêu đề ra trong FaCode Ngôn ngữ Java. Hãy đồng hành cùng FaCode Ngôn ngữ Java và theo dõi chúng tôi nhé. FaCode Ngôn ngữ Java rất mong nhận được lời góp ý từ phía cộng đồng. Share4Happy với phương châm chia sẻ để hạnh phúc.