/ / Tìm hiểu cách sử dụng cấu trúc dữ liệu Java HashMap

Tìm hiểu cách sử dụng cấu trúc dữ liệu Java HashMap

programming student

HashMap (hoặc HashTable) là một cấu trúc dữ liệu cho phép truy cập nhanh vào dữ liệu bằng cách sử dụng các cặp khóa-giá trị. Lớp Java HashMap mở rộng Bản đồ trừu tượng và triển khai giao diện Bản đồ, giao diện này cho phép nó truy cập vào rất nhiều hoạt động. HashMaps có hai tham số kiểu — K và V, trong đó K lưu trữ các khóa và V lưu trữ các giá trị trong mỗi HashMap.

LÀM VIDEO TRONG NGÀY

HashMap cho phép bạn ánh xạ các khóa tới một giá trị cụ thể và lưu trữ các mục theo thứ tự ngẫu nhiên. Trong bài này, bạn sẽ học cách sử dụng lớp HashMap của Java để lưu trữ, truy xuất, cập nhật và xóa dữ liệu.

Tạo một Java HashMap

Lớp Java HashMap có bốn hàm tạo. Phương thức khởi tạo mặc định là phương thức phổ biến nhất, nó cho phép bạn tạo một HashMap trống có dung lượng mặc định là 16.

import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<Integer, String> fruitsMap = new HashMap<Integer, String>();
}
}

Lớp Java ở trên sử dụng phương thức khởi tạo HashMap mặc định để tạo cấu trúc dữ liệu được gọi là trái cây. Đối tượng fruitMap sẽ lưu trữ dữ liệu có khóa số nguyên và giá trị chuỗi. Tuy nhiên, vì lớp HashMap triển khai giao diện Bản đồ, nó có thể lưu trữ giá trị null trong trường khóa, trường giá trị hoặc cả hai.


Lưu trữ dữ liệu trong HashMap

Bạn có thể thực hiện một số hoạt động bằng cách sử dụng lớp HashMap. Các đặt (khóa K, giá trị V) là một trong những phương pháp phổ biến nhất của nó và nó cho phép bạn lưu trữ dữ liệu bằng cách sử dụng một cặp khóa-giá trị, trong đó mỗi khóa ánh xạ tới một giá trị.

import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<Integer, String> fruitsMap = new HashMap<Integer, String>();
fruitsMap.put(3,"Pear");
fruitsMap.put(6,"Mango");
fruitsMap.put(7,"Plum");
fruitsMap.put(4,"Apple");
fruitsMap.put(1,"Orange");
fruitsMap.put(5,"Berries");
fruitsMap.put(2,"Melon");
}
}

Lớp đã cập nhật ở trên sử dụng phương thức put () để thêm một số trái cây và khóa của chúng vào cấu trúc dữ liệu fruitMap hiện có. Điều quan trọng cần lưu ý là đoạn mã trên thêm dữ liệu vào bản đồ một cách ngẫu nhiên. Chi tiết này sẽ trở nên hữu ích khi bạn bắt đầu đọc dữ liệu từ HashMap.

Đọc dữ liệu từ HashMap

Có một số cách để đọc dữ liệu từ HashMap. Phương pháp bạn sử dụng sẽ phụ thuộc vào cách bạn muốn dữ liệu trông như thế nào hoặc thậm chí là kiểu dữ liệu bạn muốn truy xuất.

Truy xuất đối tượng HashMap

Nếu bạn muốn truy xuất dữ liệu dưới dạng một đối tượng, bạn có thể chỉ cần truy cập vào đối tượng HashMap, trong ví dụ dưới đây là fruitMap.


System.out.println(fruitsMap);

Thêm dòng mã ở trên vào lớp Chính, in kết quả sau trong bảng điều khiển:

{1=Orange, 2=Melon, 3=Pear, 4=Apple, 5=Berries, 6=Mango, 7=Plum}

Mặc dù mỗi giá trị được thêm ngẫu nhiên vào HashMap, nhưng từ đầu ra, bạn sẽ thấy rằng HashMap lưu trữ các giá trị theo thứ tự tăng dần, dựa trên khóa được gán cho mỗi giá trị. Đây là một tính năng đặt HashMaps lên trước các cấu trúc dữ liệu khác như cấu trúc dữ liệu Mảng chỉ hỗ trợ lưu trữ tuyến tính.

Truy xuất tất cả dữ liệu một cách riêng lẻ

Nếu bạn muốn truy xuất tất cả dữ liệu riêng lẻ, thì bạn có thể sử dụng cho phép bạn duyệt qua HashMap và in từng giá trị và khóa tương ứng của nó. Phương thức này sử dụng giao diện Bản đồ mà lớp HashMap triển khai.


for (HashMap.Entry<Integer, String> fruit : fruitsMap.entrySet())
{
System.out.println("Key: " + fruit.getKey() + " Value: " + fruit.getValue());
}

Thêm phương thức ở trên vào mã của bạn sẽ in kết quả sau trong bảng điều khiển của bạn:

Key: 1 Value: Orange
Key: 2 Value: Melon
Key: 3 Value: Pear
Key: 4 Value: Apple
Key: 5 Value: Berries
Key: 6 Value: Mango
Key: 7 Value: Plum

Lấy một giá trị cụ thể

Lớp HashMap có lấy() phương thức nhận một khóa và trả về giá trị được ánh xạ tới khóa này.


System.out.println(fruitsMap.get(4));

Dòng mã trên in ra kết quả sau trong bảng điều khiển:

Apple

Cập nhật dữ liệu trong HashMap

Sau khi bạn tạo và điền một đối tượng HashMap, bạn có thể sử dụng thay thế() phương pháp cập nhật bất kỳ mục nào trong Bản đồ. Phương thức Replace () nhận hai hoặc ba đối số. Phương thức Replace () đầu tiên lấy khóa được liên kết với một mục hiện có, cùng với giá trị mới mà bạn muốn ánh xạ tới nó.


fruitsMap.replace(4, "Grapes");
System.out.print(fruitsMap);

Việc thực thi đoạn mã trên sẽ in đối tượng sau trong bảng điều khiển:

{1=Orange, 2=Melon, 3=Pear, 4=Grapes, 5=Berries, 6=Mango, 7=Plum}

Như bạn có thể thấy từ đối tượng ở trên, “Grapes” ánh xạ tới 4, trước đó đã ánh xạ tới “Apple”.

Phương thức Replace () thứ hai lấy khóa được liên kết với mục hiện có, mục hiện có và giá trị thay thế.


fruitsMap.replace(4, "Apple", "Grapes");
System.out.print(fruitsMap);

Đoạn mã trên in đối tượng sau trong bảng điều khiển:

{1=Orange, 2=Melon, 3=Pear, 4=Grapes, 5=Berries, 6=Mango, 7=Plum}

Xóa dữ liệu khỏi HashMap

Bạn có thể xóa một mục cụ thể khỏi HashMap của mình bằng cách sử dụng gỡ bỏ() hoặc xóa tất cả dữ liệu bằng cách sử dụng xa lạ() phương pháp. Phương thức remove () nhận một hoặc hai đối số. Phương thức loại bỏ đầu tiên lấy khóa được liên kết với giá trị bạn muốn loại bỏ:

 
fruitsMap.remove(5);
System.out.println(fruitsMap);

Đoạn mã trên in đối tượng sau trong bảng điều khiển:

{1=Orange, 2=Melon, 3=Pear, 4=Apple, 6=Mango, 7=Plum}

Đối tượng được cập nhật cho thấy rằng mục có cặp khóa-giá trị là 5 và “Berries” không còn là một phần của fruitMap. Phương thức remove () thứ hai nhận một khóa và giá trị mà nó ánh xạ tới.


fruitsMap.remove(5, "Berries");
System.out.println(fruitsMap);

Đoạn mã trên cũng in đối tượng sau trong bảng điều khiển:

{1=Orange, 2=Melon, 3=Pear, 4=Apple, 6=Mango, 7=Plum}

Phương thức clear () không có đối số và trả về giá trị void.

fruitsMap.clear();
System.out.println(fruitsMap);

Việc thực thi đoạn mã trên sẽ in ra đối tượng trống sau trong bảng điều khiển:

{}

Bây giờ bạn có thể thực hiện các hoạt động CRUD trên Java HashMap

HashMaps là một trong những cấu trúc dữ liệu phổ biến mà bạn cần biết. Bài viết này hướng dẫn bạn cách thực hiện các hoạt động CRUD trên Java HashMaps. HashMap là một cấu trúc dữ liệu rất hữu ích, điểm hấp dẫn chính của nó là nó là một trong những cấu trúc dữ liệu hiệu quả nhất, do tốc độ truy cập của nó. Tuy nhiên, nó cũng rất tiện lợi khi sử dụng, vì nó cho phép lưu trữ ngẫu nhiên.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *