【发布时间】:2021-09-07 08:18:33
【问题描述】:
我有 java 中的对象列表,像这样。
[
{
"applicationNumber": "100400",
"users": "A",
"category": "student"
},
{
"applicationNumber": "100400",
"users":"B",
"category": "student"
},
{
"applicationNumber": "100400",
"users":"C",
"category": "neighbour"
},
{
"applicationNumber": "100400",
"users": "D",
"category": "neighbour"
},
{
"applicationNumber": "200543",
"users": "C",
"category": "student"
},
{
"applicationNumber": "200543",
"users": "A",
"category": "student"
},
{
"applicationNumber": "200543",
"users":"D",
"category": "friend"
}
]
我想将每个应用程序编号的每个类别的用户分组为列表(顺序无关紧要)。可以参考下面的json来了解一下。
[
{
"applicationNumber": "100400",
"users": [
"A",
"B"
],
"category": "student"
},
{
"applicationNumber": "100400",
"users": [
"C",
"D"
],
"category": "neighbour"
},
{
"applicationNumber": "200543",
"users": [
"C",
"A"
],
"category": "student"
},
{
"applicationNumber": "200543",
"users": [
"D"
],
"category": "friend"
}
]
我可以使用 for 循环、HashMap 和 if else 条件来做到这一点。我想使用 Java 8 流来实现相同的 .谁能帮帮我,我是java新手。
PS:提前谢谢
【问题讨论】:
-
能否提供一些Java 示例数据?
-
我没有样本数据,因为我正在查询数据库并将其存储在 POJO 中。
-
你使用 MongoDB 吗?如果是,您可以通过使用聚合管道docs.mongodb.com/manual/aggregation 来实现相同的目的
-
不,我使用的是 Oracle 数据库。交互我正在使用 jparepository
标签: java spring spring-boot for-loop java-stream