我有一个
List<Map<String, Object>>
Run Code Online (Sandbox Code Playgroud)
来自Spring NamedParameterJdbcTemplate queryForList调用.数据返回如下所示:
[{"id":5,"uid":6}, {"id":5,"uid":7}, {"id":6,"uid":8}, {"id":7,"uid":7}, {"id":8,"uid":7}, {"id":8,"uid":9}]
Run Code Online (Sandbox Code Playgroud)
如何按以下格式重新排列数据?
{5:[6, 7], 6:[8], 7:[7], 8:[7, 9]}
Run Code Online (Sandbox Code Playgroud)
我想回来一个 Map<Integer, List<Integer>>
任何人都知道如何实现这一目标?任何帮助非常感谢?
这是一个Collectors.groupingBy下游收集器的工作Collectors.mapping
Map<Integer, List<Integer>> result = l.stream()
.collect(Collectors.groupingBy(
m -> (Integer) (m.get("id")),
Collectors.mapping(m -> (Integer) m.get("uuid"), Collectors.toList())));
Run Code Online (Sandbox Code Playgroud)
或根本没有溪流:
list.forEach(x -> {
Integer key = (Integer) x.get("id");
Integer value = (Integer) x.get("uuid");
result.computeIfAbsent(key, ignoreMe -> new ArrayList<>()).add(value);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |