gpt4 book ai didi

java - 正确填充 map 中的列表

转载 作者:行者123 更新时间:2023-12-02 07:48:55 25 4
gpt4 key购买 nike

我有一个映射,其值是整数列表。如果在阅读器中找到 key ,我必须将一个整数添加到列表中。我下面的代码适用于除一次之外的每次。换句话说,如果键存在 5 次,列表会说它只有 4 次。我缺少什么?谢谢!

Map<String, List<Integer>> map = new TreeMap<String, List<Integer>>();
String key; // the string from my reader

if (map.containsKey(key)) {
map.get(key).add(value); //value being an integer gotten earlier
}

我的代码在构造函数中将键添加到 map 中,如下所示:

while (reader.ready()) {
key = reader.readLine();
if(!key.isEmpty()) {
map.put(key, new ArrayList<Integer>());
}
}

如果找不到 key ,我不需要执行任何操作,只需在找到 key 时添加值即可。

最佳答案

您发布的代码片段不是实际的完整代码,但无论如何,您需要有逻辑来处理第一次看到 key 时的情况。在第一种情况下,您应该初始化要存储在映射中的整数列表。像这样的事情:

public static void addValue(String key, Integer value,
Map<String, List<Integer>> map) {
List<Integer> list = map.get(key);
if (list == null) {
list = new ArrayList<>();
}
list.add(value);
}

public static void main(String[] args) {
Map<String, List<Integer>> map = new TreeMap<String, List<Integer>>();
String key; // the string from my reader
Integer value;
addValue(key, value, map);
}

关于java - 正确填充 map 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43433593/

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