Bài 18: HashMap trong Java

2328

** Gần giống với ArrayList, tuy nhiên HashMap là 1 kiểu đối tượng lưu giá trị theo cặp key / value
Key trong 1 đối tượng kiểu HashMap là duy nhất. HashMap truy cập theo key, không theo số thứ tự giống ArrayList hoặc Array.
** Với mỗi key, bạn sẽ tìm được giá trị tương ứng với key đó. Các key là duy nhất nhưng các giá trị tương ứng với các key khác nhau thì có thể trùng nhau.
** Kiểu đối tượng của giá trị key/value của HashMap phải đồng nhất. Trong trường hợp không xác định kiểu dữ liệu thì java sẽ xem như là kiểu Object – là cha của tất cả đối tượng khác trong Java.

1. Khởi tạo một Hashmap

**Khởi tạo từ interface Map, chưa định nghĩa kiểu giá trị

 Map hMap1 = new HashMap();
**Khởi tạo từ interface Map, định nghĩa trước kiểu giá trị
Map<Integer, String> hMap2 = new HashMap();
**Khởi tạo từ HashMap, chưa định nghĩa trước kiểu giá trị
HashMap hMap3 = new HashMap();
**Khởi tạo từ HashMap, định nghĩa trước kiểu giá trị

**Chú ý: HashMap chỉ chấp nhận dữ liệu (cả key và value) là các đối tượng. Do đó, các kiểu int, long, double,… không được chấp nhận mà phải dùng Integer, Long, Double,…

2. Cách thức đưa dữ liệu vào và lấy dữ liệu ra từ đối tượng HashMap.

Không phải là phương thức add giống ArrayList, khác biệt một chút! Ta sử dụng put và get

Ví dụ 1:

 

Ví dụ 2:

**Chú ý: Dữ liệu đưa vào HashMap phải ứng với kiểu dữ liệu đã định nghĩa lúc khởi tạo HashMap.

3. Cách lấy tất cả các giá trị của HashMap

Các bạn xem ví dụ, nó sẽ lấy toàn bộ dữ liệu từ trong đối tượng HashMap ra:

 

**Ngoài ra còn có một vài phương thức như remove, clear dùng để xóa bỏ một đối tượng và xóa sạch các đối tượng trong HashMap

Nguồn android.vn