gpt4 book ai didi

java - 从每个类别中选择一个在 java 8 流中应具有相同可用日期的资源

转载 作者:行者123 更新时间:2023-12-01 09:25:47 26 4
gpt4 key购买 nike

我可以通过按组分组并对结果应用 min 函数,从列表中的每个类别中获取具有最小可用日期的对象。

但我需要从具有相同可用日期的不同组获取资源。它不必是最小的。

如何使用 Java 流来做到这一点?

即使我可以获得 sql 查询也会很有帮助,所以我可以尝试使用 Java 流构建它。

List<ResourceInformation> list = new ArrayList<ResourceInformation>();
Class ResourceInforation {
private ResourceGroup resourceGroup;

private Resource resource;

private Date availableDate;

// getters and setters
}

输入:

|resource_group_id|resource_id|availability_date|
|-----------------|-----------|-----------------|
| 1 | 1 | 10/03/16 |
| 1 | 2 | 10/04/16 |
| 1 | 3 | 10/05/16 |
| 1 | 4 | 10/04/16 |
|-----------------|-----------|-----------------|

输出将是具有相同可用日期的每个资源组的资源信息列表

|resource_group_id|resource_id|availability_date|
|-----------------|-----------|-----------------|
| 1 | 2 | 10/04/16 |
| 2 | 4 | 10/04/16 |
|-----------------|-----------|-----------------|

最佳答案

Map<Date, List<ResourceInformation>> resourcesByDate = list.stream()
.collect(Collectors.groupingBy(ResourceInformation::getAvailableDate));

生成一个 Map,其中包含作为键找到的每个日期的条目,而相应的 ResourceInformation 是值列表。

关于java - 从每个类别中选择一个在 java 8 流中应具有相同可用日期的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842265/

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