我有一个如下所示的数据结构。我正在尝试以这样的方式对对象进行分组,例如Map<String, List<String>>key 是 entryId 而 value 是它所属的组列表。entryId 在组内始终是唯一的。
示例:entryId "1111" 属于 group1,group2,group3。我正在使用旧的 java 7 方式来遍历列表并进行检查。有没有最好的方法使用 Java8 收集器/分组来实现这一点。
List<Group> 其中每个 Group 对象将有一个 Entry 对象列表。
[
{
"id":"group1",
"entries":[
{
"entryId":"1111",
"name":"test1"
},
{
"entryId":"2222",
"name":"test2"
},
{
"entryId":"3333",
"name":"test3"
}
]
},
{
"id":"group2",
"entries":[
{
"entryId":"4444",
"name":"test1"
},
{
"entryId":"1111",
"name":"test2"
},
{
"entryId":"2222",
"name":"test3"
}
]
},
{
"id":"group3",
"entries":[
{
"entryId":"1111",
"name":"test1"
},
{
"entryId":"5555",
"name":"test2"
},
{
"entryId":"3333",
"name":"test3"
}
]
}
]
所以预期的输出是这样的:
[
{
"1111":[
"group1",
"group2",
"group3"
]
},
{
"2222":[
"group1",
"group2"
]
},
{
"3333":[
"group1",
"group3"
]
},
{
"4444":[
"group2"
]
},
{
"5555":[
"group3"
]
}
]
慕侠2389804
胡子哥哥
相关分类