JDK1.8中Map新特性
import java.util.HashMap;
import java.util.Map;
/**
* JDK1.8中Map新特性
*
* @author 25316
*
*/
public class test02 {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "Tom");
map.put(2, "Jack");
map.put(3, "Lily");
// 当key没有时,使用getOrDefault方法,不用判断空
String str = map.getOrDefault(4, "null");
System.out.println(str);
//当key相同已有,使用putIfAbsent方法可以不覆盖key和value,如果直接添加会覆盖value
// map.put(3, "lei");
// map.forEach((key,value)->System.out.println(key+"->"+value));覆盖value
map.putIfAbsent(3, "lei");
map.forEach((key,value)->System.out.println(key+"->"+value));
System.out.println("--------");
//replace方法,覆盖掉已有key的value
map.replace(3, "wu");
map.replace(2, "Jack", "zhi");//必须传入老value,否则覆盖不成功
map.forEach((key,value)->System.out.println(key+"->"+value));
System.out.println("--------");
//compute方法,拼接value
map.compute(7, (key,value)->value+"1");//如果key为空,则结果为7->null1
map.computeIfAbsent(5, (value)->value+"test");//仅当key为空时处理,否则处理
map.forEach((key,value)->System.out.println(key+"->"+value));
}
}