Java HashMap
Trong ArrayList
chương này, bạn đã biết rằng Mảng 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 ( int
loại). Một HashMap
Tuy nhiên, lưu trữ các mục trong ” chìa khóa / giá trị cặp”, và bạn có thể truy cập chúng bằng một chỉ số của loại khác (ví dụ một String
).
Một đối tượng được sử dụng làm khóa (chỉ mục) cho một đối tượng khác (giá trị). Nó có thể lưu trữ các loại khác nhau: String
khóa và Integer
giá trị hoặc cùng một loại, như: String
khóa và String
giá trị:
Thí dụ
Tạo một HashMap
đối tượng gọi là capitalCities sẽ lưu trữ String
các khóa và String
giá trị :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Thêm các mục
Các HashMap
lớp học có nhiều phương pháp hữu ích. Ví dụ: để thêm các mục vào nó, hãy sử dụng put()
phương pháp:
Thí 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 get()
phương thức và tham chiếu đến khóa của nó:
Thí dụ
capitalCities.get("England");
Xóa một mục
Để xóa một mục, hãy sử dụng remove()
phương pháp này và tham khảo khóa:
Thí dụ
capitalCities.remove("England");
Để xóa tất cả các mục, hãy sử dụng clear()
phương pháp:
Thí dụ
capitalCities.clear();
Kích thước HashMap
Để biết có bao nhiêu mục, hãy sử dụng size()
phương pháp:
Thí dụ
capitalCities.size();
Lặp lại qua một HashMap
Lặp qua các mục của a HashMap
với một vòng lặp cho từng .
Lưu ý: Sử dụng keySet()
phương thức nếu bạn chỉ muốn các khóa và sử dụng values()
phương thức nếu bạn chỉ muốn các giá trị:
Thí dụ
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Thí dụ
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Thí 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
Các khóa và giá trị trong HashMap thực sự 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 kiểu “String”. Hãy nhớ rằng một chuỗi trong Java là một đối tượng (không phải là một kiểu nguyên thủy). Để sử dụng các loại khác, chẳng hạn như int, bạn phải xác định tương đương lớp wrapper : 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 đôi, v.v.:
Thí dụ
Tạo một HashMap
đối tượng được gọi là people sẽ lưu trữ String
các khóa và Integer
giá trị :
// 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));
}
}
}