Sử dụng Map trong lập trình Java

Giới thiệu nội dung bài viết

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é.

1. Map trong lập trình Java là gì

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.

2. Các class thực thi của Map

Chúng ta có những tập hợp sau cài đặt interface Map đó là

  • HashMap
  • Hashtable
  • EnumMap
  • IdendityHashMap
  • LinkedHashMap
  • Properties
  • TreeMap
  • WeakHashMap

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.

3. Tạo một Map

1
2
3
Map mapA = new HashMap();

Map mapB = new TreeMap();
  • Tạo một Hashmap
1
2
3
import java.util.HashMap; // import the HashMap class

HashMap<String, String> capitalCities = new HashMap<String, String>();

4 Thêm một phần tử vào HashMap

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);
  }
}

5 Lấy một phần tử trong HashMap

Để 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");

6 Thêm các phần tử từ một HashMap khác

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);

7 Xóa một phần tử trong Map

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");
  • Xóa hết các phần tử ta dùng phương thức clear
1
capitalCities.clear();

8 Lấy kích thước của Map

Chúng ta sử dụng phương thức size để lấy kích thước của Map

1
capitalCities.size();

9 Duyệt qua các phần tử trong Map

1
2
3
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

10 Kiểm tra Map có chứa key đã tồn tại chưa

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");

11 Kiểm tra Map có chứa giá trị đã tồn tại chưa

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");

12. Video Demo

13. Source code

Sourcecode


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments