Bản đồ băm Java
Bản đồ băm Java
Trong chương ArrayList
, bạn đã biết rằng Array lưu trữ các mục dưới dạng một bộ sưu tập có thứ tự và bạn phải truy cập chúng bằng số chỉ mục ( kiểu int
). Tuy nhiên, HashMap
lưu trữ các mục theo cặp " key / value " và bạn có thể truy cập chúng bằng chỉ mục thuộc loại khác (ví dụ: String
).
Một đối tượng được sử dụng làm khóa (chỉ mục) cho đối tượng (giá trị) khác. Nó có thể lưu trữ các loại khác nhau: Khóa String
và giá trị Integer
hoặc cùng loại, như: Khóa String
và Giá trị String
:
Ví dụ
Tạo một đối tượng HashMap
có tên CapitalCities sẽ lưu trữ các khóa String
và giá trị String
:
import java.util.HashMap; // import the HashMap class HashMap<String, String> capitalCities = new HashMap<String, String>();
Thêm các mục
Lớp HashMap
có nhiều phương thức hữu ích. Ví dụ: để thêm các mục vào nó, hãy sử dụng phương thức put()
:
Ví dụ
// Import the HashMap class import java.util.HashMap; public class Main { public static void main(String[] args) { // Create a HashMap object called capitalCities HashMap<String, String> capitalCities = new HashMap<String, String>(); // Add keys and values (Country, City) capitalCities.put("England", "London"); capitalCities.put("Germany", "Berlin"); capitalCities.put("Norway", "Oslo"); capitalCities.put("USA", "Washington DC"); System.out.println(capitalCities); } }
Truy cập một mục
Để truy cập một giá trị trong HashMap
, hãy sử dụng phương thức get()
và tham khảo khóa của nó:
Xóa một mục
Để xóa một mục, hãy sử dụng phương thức remove()
và tham khảo khóa:
Để xóa tất cả các mục, hãy sử dụng phương thức clear()
:
Kích thước HashMap
Để biết có bao nhiêu mục, hãy sử dụng phương thức size()
:
Lặp qua HashMap
Lặp lại các mục của HashMap
bằng vòng lặp for-each .
Lưu ý: Sử dụng phương thức keySet()
nếu bạn chỉ muốn các khóa và sử dụng phương thức values()
nếu bạn chỉ muốn các giá trị:
Ví dụ
// Print keys for (String i : capitalCities.keySet()) { System.out.println(i); }
Ví dụ
// Print values for (String i : capitalCities.values()) { System.out.println(i); }
Ví dụ
// Print keys and values for (String i : capitalCities.keySet()) { System.out.println("key: " + i + " value: " + capitalCities.get(i)); }
Các loại khác
Khóa và giá trị trong HashMap thực chất là các đối tượng. Trong các ví dụ trên, chúng tôi đã sử dụng các đối tượng thuộc loại "Chuỗi". Hãy nhớ rằng Chuỗi trong Java là một đối tượng (không phải kiểu nguyên thủy). Để sử dụng các kiểu khác, chẳng hạn như int, bạn phải chỉ định một lớp bao bọc tương đương: Integer
. Đối với các kiểu nguyên thủy khác, hãy sử dụng: Boolean
cho boolean, Character
cho char, Double
cho double, v.v:
Ví dụ
Tạo một đối tượng HashMap
có tên là people sẽ lưu trữ các khóa String
và giá trị Integer
:
// Import the HashMap class import java.util.HashMap; public class Main { public static void main(String[] args) { // Create a HashMap object called people HashMap<String, Integer> people = new HashMap<String, Integer>(); // Add keys and values (Name, Age) people.put("John", 32); people.put("Steve", 30); people.put("Angie", 33); for (String i : people.keySet()) { System.out.println("key: " + i + " value: " + people.get(i)); } } }
Tham khảo HashMap hoàn chỉnh
Để có tài liệu tham khảo đầy đủ về các phương thức HashMap, hãy truy cập Tài liệu tham khảo HashMap Java của chúng tôi.