gpt4 book ai didi

java - 如何将数据保存在 HashMap 中

转载 作者:行者123 更新时间:2023-12-02 13:22:52 26 4
gpt4 key购买 nike

我能够打印如下数据:

id    comes_in
___ ________
1 1
2 1
3 1
4 2
5 2
6 3

其中 id 和 comes_in 都是整数。现在我想将其保留在 HashMap 中,其中键是 comes_in,值是 ids 的数组列表。

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

所以它会像下面这样:

comes_in     id
________ ___
1 1,2,3
2 4,5
3 6

但问题是如何将它们放入 HashMap 中,因为最初我无法按 comes_in 对 id 进行分组。任何帮助都会受到赞赏。

最佳答案

使用 Java 8 流。你的追求很容易实现。请参阅:https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#groupingBy-java.util.function.Function-java.util.function.Supplier-java.util.stream.Collector-

public class TestProgram {
public static void main(String...args) {
Map<Integer, Integer> map = new HashMap<>();
map.put(1, 1);
map.put(2, 1);
map.put(3, 1);
map.put(4, 2);
map.put(5, 2);
map.put(6, 3);

Map<Object, List<Object>> result = map.entrySet().stream()
.collect(Collectors.groupingBy(
Entry::getValue,
HashMap::new,
Collectors.mapping(Entry::getKey, Collectors.toList())
));
System.out.println(result);
// {1=[1, 2, 3], 2=[4, 5], 3=[6]}
}
}

关于java - 如何将数据保存在 HashMap 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43508193/

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