【发布时间】:2021-01-04 14:15:15
【问题描述】:
我有一个如下描述的 JAVA 类:
public class Hello {
public String field1;
public String field2;
public String field3;
}
现在我有一个 list 的 Hello 对象,我想按 field1 对列表元素进行分组。我的问题是,我只想将一组 field3 作为分组元素,而不是所有 Hello 对象字段。
例如,作为输出,我想得到一张地图:
field1Value1 -> [field3Value1, field3Value2, field3Value3]
field1Value2 -> [field3Value4, field3Value5, field3Value6]
我当然尝试过使用 Steam:
HelloList.stream.collect(Collectors.groupingBy(Hello::field1, Collectors.toSet()));
和上面一样,我会得到一组由field1 映射的Hello 对象,不幸的是这不是我想要的。
【问题讨论】:
-
至少对我来说不是很清楚你想要什么,你能用一些例子来修改这个问题
-
在输出映射中,我希望 key 是 field1 和一组 field3 作为值。
标签: java stream java-stream collectors