Hashmap
Duy Văn | 12/03/2025
Nếu ArrayList và LinkedList hoạt động như list phía Python thì HashMap sẽ hoạt động như một dictionary, nó lưu trữ dữ liệu theo cặp key-value
1 object sẽ được dùng làm key và 1 object dùng làm value, có thể có các cặp như:
- String / String
- String / Integer
- Integer / String
- Integer / Integer
Đồng thời, HashMap không cho phép key trùng nhau, nếu key trùng nhau thì value sẽ được ghi đè tương tự như dictionary trong Python
Ví dụ
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
}
}
Thêm phần tử vào HashMap
Để thêm phần từ vào hashmap, chúng ta sử dụng method put()
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
Truy cập phần tử trong HashMap
Sử dụng method get() để truy cập phần tử trong hashmap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities.get("England"));
}
}
Xóa phần tử trong HashMap
Sử dụng method remove() để xóa phần tử trong hashmap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
capitalCities.remove("England");
System.out.println(capitalCities);
}
}
Hay để xoá toàn bộ phần tử, chúng ta sử dụng method clear()
HashMap size
Sử dụng method size() để lấy ra số lượng phần tử trong hashmap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities.size());
}
}
Loop qua HashMap
Tương tự như phía Python có keys() và values() method để lấy ra bộ keys và values thì Java có keySet() và values() method
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
for (String i : capitalCities.values()) {
System.out.println(i);
}
}
}
keySet sẽ trả về cơ bản là một array chứa các key, còn values sẽ trả về một array chứa các value