Saturday, October 15, 2016

BÃ i 34 HashMap trong Java

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

      
//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()) {
         

Available link for download