HashMap
1.HashMap基本使用
![](https://i-blog.csdnimg.cn/direct/3e65f988941f41248d4b113f4310341b.png)
package com.lu.day08.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDome {
public static void main(String[] args) {
HashMap<String , String> map = new HashMap<>();
//添加后者修改->如果key不存在则是添加,如果key已经存在就是修改
map.put("曹雪芹","红楼梦");
map.put("施耐庵","水浒传");
map.put("吴承恩","西游记");
map.put("杜甫","登高");
System.out.println(map);
//通过key获取值,如果key不存在则,获取到的值为null
System.out.println(map.get("吴承恩"));
System.out.println(map.get("李白"));
map.remove("吴承恩");
System.out.println("--------------");
map.put("杜甫","琵琶行");
System.out.println(map);
HashMap<Integer, String> map1 = new HashMap<>();
map1.put(1,"one");
map1.put(2,"two");
map1.put(3,"three");
map1.put(4,"four");
System.out.println(map1.containsKey(7));
System.out.println(map1.containsValue("one"));
System.out.println(map1.isEmpty());
System.out.println(map.size());
//获取键集合
Set<String> strings = map.keySet();
for (String key : strings) {
System.out.println(key+"-->"+map.get(key));
}
System.out.println("-----------------");
//entrySet 返回一个存放键值对set集合
//entry是一个map接口中的内部类->通过put(k,v)放置的键值对,实际上存到了entry对象中->对象由HashMap中的内部类中的node实现
//实现其中有两个属性(key,value)
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry.getKey()+"-->"+entry.getValue());
}
System.out.println("-----------------");
//函数式的遍历方法forEach
map.forEach((k,v)->{
System.out.println(k+"-->"