gpt4 book ai didi

java - 如何用数组列表填充 HashMap ?

转载 作者:行者123 更新时间:2023-12-01 07:45:17 25 4
gpt4 key购买 nike

它本身就说明了问题,但我该如何填充它?

Map<Integer,ArrayList<Integer>>intMap = new HashMap<Integer, ArrayList<Integer>>();

我已经尝试过了

intMap.put(1, 2);
intMap.put(1, 3); etc

intMap.put(1, (2, 3);

最佳答案

您应该使用Map.computeIfAbsent :

intMap.computeIfAbsent(someKey, k -> new ArrayList<>()).add(someValue);

例如,要具有这些映射:

1 -> [2, 3]
5 -> [8]
6 -> [7, 9, 4]

你可以这样做:

intMap.computeIfAbsent(1, k -> new ArrayList<>()).add(2);
intMap.computeIfAbsent(1, k -> new ArrayList<>()).add(3);

intMap.computeIfAbsent(5, k -> new ArrayList<>()).add(8);

intMap.computeIfAbsent(6, k -> new ArrayList<>()).add(7);
intMap.computeIfAbsent(6, k -> new ArrayList<>()).add(9);
intMap.computeIfAbsent(6, k -> new ArrayList<>()).add(4);
<小时/>

编辑:

Map.computeIfAbsent 相当于此代码:

List<Integer> list = intMap.get(someKey);
if (list == null) {
list = new ArrayList<>();
intMap.put(someKey, list);
}
list.add(someValue);

关于java - 如何用数组列表填充 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54075242/

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