Hiện nay HashMap đang được các lập trình viên Java lựa chọn sử dụng rất nhiều trong việc hỗ trợ tổ chức các dữ liệu trong chương trình. Vì vậy, nếu bạn đang tìm hiểu về lập trình và mong muốn trở thành một lập trình viên Java thì không thể không nắm vững kiến thức lập trình Java cơ bản này.
Vậy Map trong lập trình Java là gì? Nó hoạt động như thế nào? Các lớp Class thực thi của Map bao gồm những gì? Các thao tác cơ bản với HashMap như cách tạo một Map, thêm, lấy, xoá một phần tử trong HashMap, cách lấy kích thước, duyệt qua các phần tử trong Map. Hay cách để kiểm tra Map có chứa key, chứa giá trị đã tồn tại chưa? Hãy cùng tìm hiểu những thông tin trên qua bài viết này nhé.
Map lưu trữ các phần tử theo định dạng key và value. Anh ví dụ sinh viên thường có mã sinh viên và thông tin sinh viên. Như vậy key ở đây chính là mã sinh viên còn thông tin sinh viên chính là giá trị. Dựa vào key mà chúng ta có thể lấy ra sinh viên tương ứng. Key là giá trị duy nhất không trùng lặp. Như các em thấy mã sinh viên thì là duy nhất không có bạn nào trùng.
Chúng ta có những tập hợp sau cài đặt interface Map đó là
Trong các tập hợp trên thì HashMap và TreeMap thường hay được sử dụng nhất. HashMap lưu trữ theo giá trị key và value nhưng các phần tử trong nó không được sắp xếp, ngược lại thì các phần tử trong TreeMap đều được sắp xếp.
1
2
3
Map mapA = new HashMap();
Map mapB = new TreeMap();
1
2
3
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Chúng ta sử dụng phương thức put để thêm phần tử vào Map
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyClass {
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);
}
}
Để lấy một phần tử trong Map ta sử dụng phương thức get với tham số là key
1
2
3
4
5
Map map = new HashMap();
map.put("key1", "value 1");
String element1 = (String) map.get("key1");
Chúng ta sử dụng phương thức putAll để thêm các phần tử từ một tập hợp Map khác
1
2
3
4
5
6
Map<String, String> mapA = new HashMap<>();
mapA.put("key1", "value1");
mapA.put("key2", "value2");
Map<String, String> mapB = new HashMap<>();
mapB.putAll(mapA);
Chúng ta sử dụng phương thức remove để xóa một phần tử trong Map. Tham số truyền vào là key
1
capitalCities.remove("England");
1
capitalCities.clear();
Chúng ta sử dụng phương thức size để lấy kích thước của Map
1
capitalCities.size();
1
2
3
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Chúng ta sử dụng phương thức containsKey để kiểm tra key đã tồn tại trong Map chưa?
1
boolean hasKey = map.containsKey("123");
Chúng ta có thể kiểm tra giá trị đã tồn tại trong mảng chưa bằng phương thức containsValue
1
boolean hasValue = map.containsValue("value 1");