15 June 2016

Bài 34: HashMap trong Java

Bài 34: HashMap trong Java


java-collection-HashMap
** 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ị
PHP:
 Map hMap1 = new HashMap();
**Khởi tạo từ interface Map, định nghĩa trước kiểu giá trị
PHP:
Map<IntegerStringhMap2 = new HashMap();
**Khởi tạo từ HashMap, chưa định nghĩa trước kiểu giá trị
PHP:
HashMap hMap3 = new HashMap();
**Khởi tạo từ HashMap, định nghĩa trước kiểu giá trị
PHP:
HashMap<IntegerStringhMap4 = new HashMap();HashMap hMap5 = new HashMap<IntegerString>();HashMap<IntegerStringhMap6 = new HashMap<IntegerString> ();
**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
PHP:
hashmap.put (keyvalue); //đưa key và value vào hashmaphashmap.get(key); // Lấy value tương ứng với key trong hashmap

Ví dụ 1: 
PHP:
package javaandroidvn;
 
import java.util.HashMap;

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
HashMap user = new HashMap();
        
user.put("ID1""TranvanA");
        
user.put("ID2""NguyenVanT");
        
user.put("ID3""VuVanT");

        
System.out.println(user.get("ID1"));
        
System.out.println(user.get("ID2"));
        
System.out.println(user.get("ID3"));

    }
}
Ví dụ 2: 
PHP:
package javaandroidvn;
 
import java.util.HashMap;

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
      
HashMap<IntegerStringuser = new HashMap<> ();
      
user.put(1"Vu Van A");
      
user.put(2"Nguyenvan t");
      
user.put(3"Nguyenvan C");
      
user.put(4"NguyenvanE");

      
System.out.println(user.get(1));
      
System.out.println(user.get(2));
      
System.out.println(user.get(3));
      
System.out.println(user.get(4)+"\n");

      
//Hoặc nếu key gán theo thứ tự số nguyên, có thể dùng :
      
for (int i=1i<5i++){
          
System.out.println(user.get(i));
      }


    }
}
**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:
PHP:
package javaandroidvn;
 
import java.util.HashMap;

public class 
JavaAndroidVn {

    public static 
void main(String[] args) {
        
HashMap<IntegerStringuser = new HashMap<>();
        
user.put(8"Vu Van A");
        
user.put(5"Nguyenvan t");
        
user.put(3"Nguyenvan C");
        
user.put(10"NguyenvanE");

        for (
Integer i user.keySet()) {
            
System.out.println(" " user.get(i));
        }
    }
}
**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

Xem thêm video blog StudyAndShare

Nguồn : Android.vn

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang