gpt4 book ai didi

java - Map.computeIfPresent() 在 Java 中初始化一个列表

转载 作者:行者123 更新时间:2023-11-30 10:12:12 31 4
gpt4 key购买 nike

我有以下代码:

for (String val: values) {
EnumType type = EnumType.get(val);
if (type != null) {
String key = type.name();
if (key.equals("camp2"))
key = "camp1";
ArrayList<String> tempList= mapN.get(key); //1
if (tempList == null) { // 2
tempList = new ArrayList<>();
}
tempList.add(val);
mapN.put(key, tempList); //3
}
}

其中 mapN 和 valies 是:

private Map<String, ArrayList<String>> mapN
ArrayList<String> values
type is an enum

我有声纳,声纳告诉我在带有//1,2,3 的值中我需要使用:

Map.computeIfPresent()

但是我已经阅读了有关此主题的内容,但我没有找到更改代码的方法。

谁能帮帮我?

最佳答案

我想你可以将其缩短为:

values.forEach(val -> {
EnumType type = EnumType.get(val);
if(type != null){
String key = type.name();
if (key.equals("camp2"))
key = "camp1";
mapN.computeIfAbsent(key, x -> new ArrayList<>()).add(val);
}
});

关于java - Map.computeIfPresent() 在 Java 中初始化一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991710/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com