Tìm hiểu HashMap trong Java

HashMap là một trong những lớp Collection được sử dụng phổ biến trong Java. Tiếp theo hãy cùng tìm hiểu về HashMap trong Java.

HashMap trong Java được sử dụng để lưu trữ dữ liệu theo dạng key-value. Để truy cập một giá trị phần tử trong HashMap chúng ta có thể dựa vào key (khóa), HashMap hoạt động dựa trên nguyên lý hashing.

Bây giờ chúng ta sẽ tìm hiểu sâu hơn về HashMap trong Java.

Một số điểm về HashMap trong Java:

  • HashMap chứa danh sách phần tử bao gồm cặp key-value, không cho phép các key trùng nhau
  • HashMap chứa các phần tử không dựa theo thứ tự như lúc thêm vào.
  • HashMap cho phép truy xuất dữ liệu thông qua key.
  • HashMap có thể chứa một khóa null và nhiều giá trị null.
  • HashMap không được đồng bộ hóa (non synchronized).

Danh sách các hàm tạo khởi tạo lớp HashMap trong Java:

  • HashMap(): Là hàm khởi tạo mặc định của HashMap với dung lượng ban đầu 16 và hệ số tải 0,75.
  • HashMap(Map m): Tạo đối tượng HashMap với đối tượng Map được chỉ định.
  • HashMap(int capacity): Tạo đối tượng HashMap với số phần tử được chỉ định và hệ số tải 0,75.
  • HashMap(int capacity, float fillRatio): Tạo đối tượng HashMap với số phần tử và hệ số tải được chỉ định.

Ví dụ khởi tạo HashMap trong Java:

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

Danh sách các phương thức lớp HashMap trong Java:

  • void clear(): xóa tất cả dữ liệu trong HashMap.
  • boolean isEmpty(): trả về true nếu HashMap chứa tập hợp danh sách key-value.
  • boolean containsKey(Object key): trả về true nếu HashMap chứa ánh xạ với key được chỉ định.
  • boolean containsValue(Object value): trả về true nếu HashMap chứa ánh xạ với value được chỉ định.
  • int size(): trả về số lượng phần tử trong HashMap.
  • Object put(Object key, Object value): thêm dữ liệu vào trong HashMap, nếu key đã tồn tại thì sẽ cập nhật dữ liệu theo key.
  • Object remove(Object key): xóa dữ liệu trong HashMap nếu tồn tại.
  • Set keySet(): trả về tập hợp key có trong danh sách.
  • Set entrySet(): trả về tập hợp key-value có trong danh sách.

Ví dụ sử dụng HashMap trong Java:

package test;

import java.util.*;

/**
 *
 * @author TVD
 */
public class HashMapExample {

    public static void main(String args[]) {

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

        hm.put("Jan", "January");
        hm.put("Feb", "February");
        hm.put("Apr", "April");
        hm.put("Mar", "March");
        hm.put("May", "May");
        hm.put("Jun", "June");
        hm.put("Jul", "July");
        hm.put("Aug", "August");
        hm.put("Sep", "September");
        hm.put("Oct", "October");
        hm.put("Nov", "November");
        hm.put("Dec", "December");

        System.out.println("keySet: " + hm.keySet());
        System.out.println("entrySet: " + hm.entrySet());

        System.out.println("----------");
        for (Map.Entry<String, String> entry : hm.entrySet()) {
            System.out.println(entry.getKey() + " - " + entry.getValue());
        }

        System.out.println("----------");
        Set set = hm.entrySet();
        Iterator i = set.iterator();
        while (i.hasNext()) {
            Map.Entry me = (Map.Entry) i.next();
            System.out.println(me.getKey() + " - " + me.getValue());
        }
    }

}

Kết quả sau khi khởi chạy ví dụ trên:

keySet: [Jul, Oct, Feb, Apr, Jun, Aug, Dec, May, Nov, Jan, Mar, Sep]
entrySet: [Jul=July, Oct=October, Feb=February, Apr=April, Jun=June, Aug=August, Dec=December, May=May, Nov=November, Jan=January, Mar=March, Sep=September]
----------
Jul - July
Oct - October
Feb - February
Apr - April
Jun - June
Aug - August
Dec - December
May - May
Nov - November
Jan - January
Mar - March
Sep - September
----------
Jul - July
Oct - October
Feb - February
Apr - April
Jun - June
Aug - August
Dec - December
May - May
Nov - November
Jan - January
Mar - March
Sep - September

Ngoài ra, các bạn có thể xem thêm một số bài viết khác tìm hiểu về HashMap, HashSet, ArrayList, LinkedList, TreeSet, LinkedHashMap…

Lời kết: Trong thời gian tới Team Việt Dev sẽ tiếp tục chia sẻ thêm nhiều bài viết về hướng dẫn lập trình Java cơ bản và nâng cao, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Team Việt Dev)

Bình luận