【发布时间】:2018-04-10 14:50:03
【问题描述】:
我的对象类型是:
public class MyObjectDTO {
Long id;
String name;
LocalDate date;
String property;
}
我有一个包含此数据的对象的 ArrayList:
Element0: 1 name1 2018-01-01 property1
Element1: 1 name1 2018-01-01 property2
Element2: 2 name2 2015-05-05 property77
Element3: 2 name2 2015-05-05 property88
Element4: 2 name2 2015-05-05 null
Element5: 3 name3 2020-12-31 property99
我想要一个新的ArrayList<MyObjectDTO> 像这样分组:
Element0: 1 name1 2018-01-01 property1, property2
Element1: 2 name2 2015-05-05 property77, property88, null
Element2: 3 name3 2020-12-31 property99
所以,我想按 id、name 和 data 进行分组,我想将 String property 收集到一个 String 中。
可以用Java Stream吗?
非常感谢, 安德烈亚
【问题讨论】:
-
简短的回答是“是”。也许您应该自己尝试一些事情,如果遇到特定问题,请更新您的帖子。
-
@ThomasTimbul 自己尝试过 :-) 但也许我不知道正确的流语法
-
作为 SO 的一般指导,您应该包括您最近的编译尝试,它可以帮助人们回答并证明您至少付出了一些努力,而不仅仅是要求其他人完成您的工作。跨度>
-
@AndreaBevilacqua 您是否映射了 SQL 查询的结果?如果是,则可以将这种类型的分组作为查询的一部分进行。
-
@sn42,它们不仅可以,而且应该作为查询的一部分执行。
标签: java collections stream java-stream collectors