gpt4 book ai didi

java - 将流中的列表附加到 map

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:34 24 4
gpt4 key购买 nike

我正在尝试将多个不必要的 Web 请求整合到一个 map 中,键连接到位置的 ID,值是该位置的产品列表。

我的想法是通过为每个位置创建一个请求并将所需产品列表映射到它来减少对我的 flask 服务器的请求量。

我试图找到其他使用 Java 8 的流功能时遇到类似问题的人,但我找不到任何人试图追加到 map 中的列表。

例子;

public class Product {
public Integer productNumber();
public Integer locationNumber();
}

List<Product> products = ... (imagine many products in this list)

Map<Integer, List<Integer>> results = products.stream()
.collect(Collectors.toMap(p -> p.locationNumber, p -> Arrays.asList(p.productNumber));

另外,第二个p参数无法访问流中的当前产品。

因此,当位置编号与预先存在的列表匹配时,我无法测试是否可以附加到列表。我不相信我可以使用 Arrays.asList(),因为我相信它是不可变的。

最后, map 的每个位置列表中应该有许多产品编号。是否可以将整数附加到 map 中预先存在的列表中?

最佳答案

你可以这样做,

Map<Integer, List<Integer>> res = products.stream()
.collect(Collectors.groupingBy(Product::locationNumber,
Collectors.mapping(Product::productNumber, Collectors.toList())));

关于java - 将流中的列表附加到 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55624530/

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