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());
}
}
}