Map.computeIfAbsent() 方法是 Java 8 中的一个强大工具,它允许您在 Map 中根据给定键的条件来计算新的值并添加键值对。该方法的语法如下:\nV computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)\n\n参数解释:\n- key: 要检查的键。\n- mappingFunction: 计算新值的函数。\n\n工作原理:\n1. 如果给定键 key 在 Map 中不存在,或者映射到 null 值,则调用 mappingFunction 函数计算新值。\n2. 如果计算出的新值不为 null,则将其与键 key 关联起来,并将其添加到 Map 中。\n3. 如果计算出的新值为 null,则不会将其添加到 Map 中,并返回 null。\n\n示例代码:\njava\nMap&lt;String, Integer&gt; map = new HashMap&lt;&gt;();\nmap.put("A", 1);\nmap.put("B", null);\nmap.put("C", 3);\n\nInteger value1 = map.computeIfAbsent("A", k -&gt; 10); // value1 = 1,键 "A" 已存在,不进行计算,返回原来的值 1\nInteger value2 = map.computeIfAbsent("B", k -&gt; 20); // value2 = null,键 "B" 映射到 null 值,计算出新值 20,但不放入 Map 中\nInteger value3 = map.computeIfAbsent("D", k -&gt; 30); // value3 = 30,键 "D" 不存在,计算出新值 30,并将键值对放入 Map 中\n\nSystem.out.println(map); // 输出:{A=1, B=null, C=3, D=30}\n\n\n总结:\nMap.computeIfAbsent() 方法为 Map 添加键值对提供了一种高效且安全的机制,尤其适用于需要根据条件动态计算值的场景。通过合理使用该方法,您可以避免重复计算,并确保 Map 中的值始终保持最新状态。

Java Map.computeIfAbsent() 方法详解:添加键值对的利器

原文地址: https://www.cveoy.top/t/topic/pVTG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录