gpt4 book ai didi

java - 从 hashmap 存储和检索 ArrayList 值

转载 作者:IT老高 更新时间:2023-10-28 21:18:41 26 4
gpt4 key购买 nike

我有以下类型的 HashMap

HashMap<String,ArrayList<Integer>> map=new HashMap<String,ArrayList<Integer>>();    

存储的值是这样的:

mango | 0,4,8,9,12
apple | 2,3
grapes| 1,7
peach | 5,6,11

我想使用迭代器或任何其他方式以最少的代码行存储和获取这些整数。我该怎么做?

编辑 1

数字是随机添加的(不是一起),因为键与相应的行匹配。

编辑 2

如何在添加时指向数组列表?

map.put(string,number);

行中添加新数字 18 时出现错误

最佳答案

我们的变量:

Map<String, List<Integer>> map = new HashMap<String, List<Integer>>();

存储:

map.put("mango", new ArrayList<Integer>(Arrays.asList(0, 4, 8, 9, 12)));

要添加数字一和一,您可以执行以下操作:

String key = "mango";
int number = 42;
if (map.get(key) == null) {
map.put(key, new ArrayList<Integer>());
}
map.get(key).add(number);

在 Java 8 中,如果列表不存在,您可以使用 putIfAbsent 添加列表:

map.putIfAbsent(key, new ArrayList<Integer>());
map.get(key).add(number);

使用 map.entrySet() 方法进行迭代:

for (Entry<String, List<Integer>> ee : map.entrySet()) {
String key = ee.getKey();
List<Integer> values = ee.getValue();
// TODO: Do something.
}

关于java - 从 hashmap 存储和检索 ArrayList 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19541582/

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