import java.util.Collection;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
/**
* 演示HashMap基本操作
*
* @author 北京動力節點
*
*/
public class Test01 {
public static void main(String[] args) {
//1)創建HashMap, 存儲員工姓名,工資
HashMap<String, Integer> hashMap = new HashMap<>();
//2)添加數據
hashMap.put("lisi", 2000);
hashMap.put("xiaoming", 30000);
hashMap.put("chenqi", 6666);
//3)直接打印
System.out.println( hashMap); //{lisi=2000, xiaoming=30000, chenqi=6666}
//4)判斷
//判斷是否存在"xiaoming"這個員工, 員工姓名作為map中的鍵存在, 判斷Map中的鍵是否包含"xiaoming"
System.out.println( hashMap.containsKey("xiaoming")); //true
System.out.println( hashMap.containsKey("bingbing")); //false
//判斷是否有員工的工資是6666, 員工工資是作為map中的值存在在, 判斷Map中值是否包含6666
System.out.println( hashMap.containsValue(6666)); //true
System.out.println( hashMap.containsValue(100000)); //false
//查看員工的工資
System.out.println( hashMap.get("xiaoming")); //30000
System.out.println( hashMap.get("bingbing")); //null
//5)刪除
hashMap.remove("bingbing"); //只要鍵匹配,就從Map中刪除對應的鍵值對
System.out.println( hashMap ); //{lisi=2000, xiaoming=30000, chenqi=6666}
hashMap.remove("xiaoming");
System.out.println( hashMap ); //{lisi=2000, chenqi=6666}
//6)Map中的鍵不允許重復的, 如果鍵已存在, 使用新的value值替換原來的值
hashMap.put("bingbing", 12345678);
System.out.println( hashMap ); //{bingbing=12345678, lisi=2000, chenqi=6666}
hashMap.put("bingbing", 456789); //鍵已存在, 使用新值456789把bingbing原來的值給替換
System.out.println( hashMap ); //{bingbing=456789, lisi=2000, chenqi=6666}
//7)遍歷
//查看所有員工的姓名
Set<String> keySet = hashMap.keySet();
System.out.println( keySet ); //[bingbing, lisi, chenqi]
//查看所有人的工資
Collection<Integer> values = hashMap.values();
System.out.println( values ); //[456789, 2000, 6666]
//查看所有<鍵,值>對, 一個<鍵,值>對就是一個Entry
Set<Entry<String, Integer>> entrySet = hashMap.entrySet();
for (Entry<String, Integer> entry : entrySet) {
System.out.println( entry.getKey() + " : " + entry.getValue());
}
}
}