![](/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.