【发布时间】:2019-01-17 15:57:49
【问题描述】:
我在使用 Java 8 对两个值进行分组时遇到问题。
我的主要问题是关于对两个字段进行分组,我正确分组了一个名为 getNameOfCountryOrRegion() 的字段,但现在我对 groupingBy 另一个名为 leagueDTO 的字段也很感兴趣。
Map<String, List<FullCalendarDTO>> result = countryDTOList.stream()
.collect(Collectors.groupingBy(
FullCalendarDTO::getNameOfCountryOrRegion));
还有以下课程:
public class FullCalendarDTO {
private long id;
private TeamDTO localTeam;
private TeamDTO visitorTeam;
private LocationDTO location;
private String leagueDTO;
private String timeStamp;
private String nameOfCountryOrRegion;
}
结果将按nameOfCountryOrRegion 和leagueDTO 分组。
【问题讨论】:
-
你说的和leagueDTO是什么意思?会是嵌套地图吗?你能展示一下你想要的输出应该是什么样子吗?
-
你想得到一个键是两个字段组合的映射吗?如果是这样,那么传递给
groupingBy()的函数将必须构建并返回一个适当的对象。 -
@user7 我会感觉到
groupingBy这两个属性。可能还有其他含义吗?
标签: java collections java-8 java-stream grouping