问题描述:有个List对象,如下:
List<Map<String,Object>> query = new ArrayList<Map<String,Object>>
Json视图下的例子数据为:
[
{
"customer_attribute": "1",
"customer_attribute_no": "0101019",
"group_no": 1
},
{
"customer_attribute": "2",
"customer_attribute_no": "A001",
"group_no": 1
},
{
"customer_attribute": "3",
"customer_attribute_no": "AA001",
"group_no": 2
}
]
现在需求是将原List中数据构建成:
[
{
"attributelist": [
{
"customer_attribute": "1",
"customer_attribute_no": "0101019"
},
{
"customer_attribute": "2",
"customer_attribute_no": "A001"
}
],
"group_no": 1
},
{
"attributelist": [
{
"customer_attribute": "3",
"customer_attribute_no": "AA001"
}
],
"group_no": 2
}
],
我的想法是将原来的List中的多个Map先用stream中的flatMap()合成一个Map,让后对这个Map中以“group_no”为key进行分组,分组后将各自新Map中的“customer_attribute”构建新的key为“attributelist”的List,从而实现。但我太清楚具体该如何编写代码,有前辈可以指导写一下参考吗?万分感激!
分组可以用GroupingBy方法,以下是参考代码