menu

VanThuong.Com

Blog học lập trình Java và SEO miễn phí.

Tìm hiểu cách sử dụng HashMap trong Java

Posted by on
Lớp java.util.HashMap sử dụng hashtable (bảng băm) để triển khai Map Interface. Nó cho phép chúng ta lưu giá trị theo cặp key/value, trong đó key là duy nhất.
+ HashMap không đảm bảo thứ tự lặp của Map, hay nói 1 cách khác, thứ tự của các đối tượng trong HashMap sẽ bị thay đổi theo thời gian.
+ HashMap cho phép null values và null key.
Tìm hiểu cách sử dụng HashMap trong Java

Phương thức khởi tạo

#No.Constructor & Description
#1HashMap()
Constructor này sẽ tạo ra một empty HashMap với initial capacity (sức chứa ban đầu) mặc định là 16 và hệ số tải (load factor) mặc định là 0.75.
#2HashMap(Collection <? extends E> c)
Phương thức này sẽ khởi tạo một empty HashMap với initial capacity cụ thể và hệ số tải mặc định là (0.75).
#3HashMap(int initialCapacity, float loadFactor)
Khởi tạo một empty HashMap với initial capacity và hệ số tải cụ thể.
#4HashMap(Map<? extends K,? extends V> m)
Khởi tạo một HashMap mới với các phần tử của một Map các đối tượng đầu vào.

Các phương thức được hỗ trợ

#No.Method & Description
#1
void clear()
Xóa tất cả các ánh xạ có trong map
#2
void clone()
Phương thức này sẽ return về một bản shallow copy của thể hiện HashMap, bản thân các key và value thì không được clone.
#3
boolean containsKey(Object key)
Phương thức được sử dụng để kiểm tra xem map này có bao gồm ánh xạ cho key hay không.
#4
boolean containsValue(Object value)
Phương thức sẽ trả về giá trị true nếu trong map có chứa 1 hoặc nhiều key ánh xạ đến value tương ứng với value đầu vào.
#5
Set<Map.Entry<K,V>> entrySet()
Trả về một Set các Map.Entry của Map
#6
V get(Object key)
Trả về value tương ứng với key có trong map, hoặc trả về null nếu như map không chứa ánh xạ cho key.
#7
boolean isEmpty()
Trả về giá trị true nếu như map rỗng (không chưa bất kỳ ánh xạ key-value nào).
#8
Set<K> keySet()
Trả về một Set các keys có trong map.
#9
V put(K key, V value)
Phương thức này sẽ thêm mới một ánh xạ key-value nếu như trong map chưa tồn tại. Ngược lại, nếu đã tồn tại ánh xạ key-value, thì giá trị value mới này sẽ đè lên giá trị của value cũ.
#10
void putAll(Map<? extends K,? extends V> map)
Phương thức này sẽ copy tất cả các ánh xạ có từ tham số map vào map hiện hành.
#11
V remove(Object key)
Xóa bỏ ánh xạ key-value tương ứng với tham số key trong map nếu như tồn tại.
#12
int size()
Trả về số lượng ánh xạ key-value có trong map.
#13
Collection&ltV> values()
Phương thức này sẽ trả về một Collection của các values tương ứng có trong map.

Ví dụ cách sử dụng map

Dưới đây là ví dụ đơn giản nhất về các sử dụng HashMap mà bạn có thể tham khảo để biết cách sử dụng.
package com.vanthuong.example;

import java.util.HashMap;

public class HashMapExample {
  public static void main(String[] args) {
    HashMap<String, Double> marksBySubjects = new HashMap<>();
    marksBySubjects.put("Math", 9.0);
    marksBySubjects.put("Physics", 7.5);
    marksBySubjects.put("Chemistry", 9.0);
    marksBySubjects.put("Economics", 8.5);
    marksBySubjects.put("Geography", 9.5);


    // In ra màn hình điểm của các môn học
    System.out.println(marksBySubjects.get("Math"));
    System.out.println(marksBySubjects.get("Physics"));
    System.out.println(marksBySubjects.get("Chemistry"));
    System.out.println(marksBySubjects.get("Economics"));
    System.out.println(marksBySubjects.get("Geography"));

    // Sử dụng phép lặp để in điểm ra màn hình
    marksBySubjects
        .entrySet()
        .forEach(entry -> {
          System.out.println(entry.getKey() + ":\t" + entry.getValue());
        });

    // In ra màn hình số lượng ánh xạ có trong map
    System.out.println("Size: " + marksBySubjects.size());

    // In ra màn hình danh sách các môn học
    // Java 8
    marksBySubjects
        .keySet()
        .forEach(System.out::println);

    // Java 7
    for (String subject: marksBySubjects.keySet()) {
      System.out.println(subject);
    }
  }
}
Đăng bình luận

menu