New method for map in Java 8

public class MapTest {
    public static void main(String[] args) {
        Map map = new HashMap();
        // 成对放入多个key-value对
        map.put("Java入门教程",10);
        map.put("C语言入门教程",20);
        map.put("Python基础教程",30);

        // 尝试替换key为”Go语言入门教程”的 value,由于原 Map 中没有对应的 key
        // 因此Map没有改变,不会添加新的key-value对
        map.replace("Go语言入门教程",40);
        System.out.println(map);
        // 使用原value与传入参数计算出来的结果覆盖原有的value
        map.merge("C语言入门教程",25,(oldVal,param) -> (Integer) oldVal + (Integer) param);
        System.out.println(map);
        // 当key为"Java"对应的value为null (或不存在)时,使用计算的结果作为新value
        map.computeIfAbsent("Java",(key) -> ((String) key).length());
        System.out.println(map); // map 中添加了 Java=4 这组 key-value 对
        // 当key为"Java"对应的value存在时,使用计算的结果作为新value
        map.computeIfPresent("Java",(key,value) -> (Integer) value * (Integer) value);
        System.out.println(map); // map 中 Java=4 变成 Java=16
    }
}

{Java introductory tutorial = 10, python basic tutorial = 30, C language introductory tutorial = 20} {Java introductory tutorial = 10, C language introductory tutorial = 45} {Java = 4, Java introductory tutorial = 10, C language introductory tutorial = 45} {Java = 16, C language introductory tutorial = 45}

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>