computeIfAbsent()
方法用于在 Map 中根据指定的键计算值,如果该键不存在或对应的值为 null,则计算并将其放入 Map 中。如果该键存在且对应的值不为 null,则不执行计算操作。
下面是一个简单的示例,演示了如何使用 computeIfAbsent()
方法:
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建一个 HashMap
Map<Integer, String> map = new HashMap<>();
// 向 Map 中添加一些数据
map.put(1, "One");
map.put(2, "Two");
// 使用 computeIfAbsent() 方法
map.computeIfAbsent(3, key -> "Three"); // 键 3 不存在,计算结果为 "Three",放入 Map
map.computeIfAbsent(2, key -> "New Two"); // 键 2 已存在,不执行计算操作
// 打印 Map 中的数据
System.out.println(map); // 输出:{1=One, 2=Two, 3=Three}
}
}
在上面的示例中,首先创建了一个 HashMap,然后使用 put()
方法向其中添加了两个键值对。接着使用 computeIfAbsent()
方法,在键为 3 的情况下进行了计算操作,因为键 3 不存在,所以计算结果为 “Three”,将其放入了 Map 中。对于键为 2 的情况,因为该键已存在且对应的值不为 null,所以不执行计算操作。最后打印了 Map 中的数据,可以看到计算结果已经正确地放入了 Map 中。