Map map = new HashMap(); //创建map
Map iMap = new HashMap();
iMap.put("狂人日记","鲁迅")
map.put("家","巴金"); //添加一个键值对,如果key已存在就覆盖,且返回被覆盖的值
map.put("朝花夕拾","冰心");
map.put("骆驼祥子","老舍");
map.put("项链","莫泊桑");
map.remove("家") //删除指定key的键值对,返回被删除的key关联的value,不存在返回null
map.remove("家","巴金") //删除指定键值对,成功返回true
map.size() //返回map中键值对的个数
map.clear() //删除map中的所有键值对
map.isEmpty() //判断map是否为空
map.get("项链") //返回指定Key所对应的value,不存在则返回null
map.containsKey("家") //判断Map中是否包含指定的Key
map.containsValue("巴金") //判断Map中是否包含指定的Value
Collection set = map.entrySet() //返回Map中键值对所组成的Set.集合元素是Map.Entry(Map的内部类)对象
Collection set = map.keySet() //返回Map中key的set集合
Collection list = map.values() //返回该Map里所有value组成的Collection
//Map中包含了一个内部类Entry,包含一下三个方法
Collection set = map.entrySet()
set.forEach(entry ->
System.out.println("--->"+obj.getKey()) //返回该entry中包含的key
System.out.println("--->"+obj.getValue()) //返回该entry中包含的value
obj.setValue("佚名") //设置entry中的value,并返回value
)
//使用remappingFunction根据键值对计算一个新的value,不为空就覆盖,或者添加;为空则删除原键值对;
Object compute(Object key,BiFunction remappingFunction)
map.compute("爱的教育",(key,vlaue)->((String)key).length())
//key对应的键值对不存在或者value为空,函数才起作用。使用remappingFunction根据key计算出value,如果value不为null,则赋值或者添加;value为空则方法失效,不做任何改变
object computeIfAbsent(object key, Function remappingFunction)
//对应的key存在且value不为空,方法生效,通过键值对计算出新的value,不为空则赋值,为空就删去原有的键值对
Object computeIfPresent(object key,BiFunction remappingFunction)
//遍历Map
void forEach(BiFunction action)
map.forEach((k,v)-> System.out.println("key:"+k+" value:"+v));
//得到指定key的value,如果key不存在,则返回defaultValue
object getOrDefault(object key,V defalutValue)
System.out.println(map.getOrDefault("活着","余华"));
//通过key得到集合中value,如果value不为空,则使用 remappingFunction根据旧value和新value计算出一个结果去覆盖集合中原有的value,如果value为空,则直接用参数key,value覆盖.如果计算结果为null则删除原有键值对
Object merge(object key,object value,BiFunction remappingFunction)
//如果key在集合中的value为空或则键值对不存在,则用参数value覆盖
object putIfAbsent(Object key,object value)
//替换key在集合中的value。如果key不存在不会添加新的键值对。
object replace(object key,object value)
//替换指定的键值对,成功返回true,不存在添加新的键值对
boolean replace(K key,V oldValue,V newValue)
//对集合中的所有键值对执行计算,并将返回结果作为value覆盖
replaceAll(BiFunction function)
map.replaceAll((k,v)->((String)k).length());
for(Object key : map.keySet()){
System.out.printLn(key +"---> "+map.get(key))
}
map.forEach((k,v)-> System.out.println("key:"+k+" value:"+v));