![](/img/trans.png)
[英]Convert List<Map<String, String>> to Object in Java Spring boot jpa
[英]Convert List to grouped list in Java Spring Boot
我想使用属性转换以下列表以对相似组进行分组,并使用 Java Spring Boot 将子组值连接为以下预期输出。 这是我的代码。
for (JuniorAreaSubgroup value : lstJuniorAreaSubgroup) {
juniorAreaSubgroupMap.setJuniorArea(value.getJuniorArea());
lstSubgroup.add(lstJuniorAreaSubgroup.stream().filter(value.getJuniorArea()) ->
String.join(",", value.getSubgroup()));
juniorAreaSubgroupMap.setSubgroup(lstSubgroup);
lstSubgroup.clear();
}
——
[
{
"group": "Tins",
"subgroup": "G13AA"
},
{
"group": "Tins",
"subgroup": "G13AD"
},
{
"group": "Cans",
"subgroup": "G13DA"
},
{
"group": "Cans",
"subgroup": "G13DB"
},
{
"group": "Cans",
"subgroup": "G13DD"
}
]
预期输出:
[
{
"group": "Tins",
"subgroup": [“G13AA”, "G13AD”]
},
{
"group": "Cans",
"subgroup": [“G13DA”, "G13DB”, "G13DD”]
}
]
任何帮助表示赞赏。
您的数据看起来像 JSON。 此示例将使用适当的 Java 对象设置数据:
public class Grouping {
public class Person {
String group;
String subgroup;
Person(String group, String subgroup){
this.group = group;
this.subgroup=subgroup;
}
}
@Test
public void test() {
List<Person> list = new ArrayList<>();
list.add(new Person("Tins", "G13AA"));
list.add(new Person("Tins", "G13AD"));
list.add(new Person("Cans", "G13DA"));
list.add(new Person("Cans", "G13DB"));
list.add(new Person("Cans", "G13DD"));
Map<String, List<String>> result = list.stream()
.collect(Collectors.groupingBy(p->p.group, Collectors.mapping(p->p.subgroup, Collectors.toList())));
System.out.println(result);
}
}
将导致:
{Cans=[G13DA, G13DB, G13DD], Tins=[G13AA, G13AD]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.