gpt4 book ai didi

Java 流按 List> 分组到 Map>

转载 作者:行者123 更新时间:2023-12-03 02:56:43 28 4
gpt4 key购买 nike

我有一个

List<Map<String, Object>>

来自 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}]

如何按照以下格式重新排列数据?

{5:[6, 7], 6:[8], 7:[7], 8:[7, 9]}

我希望返回 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())));

或者根本没有流:

list.forEach(x -> {
Integer key = (Integer) x.get("id");
Integer value = (Integer) x.get("uuid");
result.computeIfAbsent(key, ignoreMe -> new ArrayList<>()).add(value);
});

关于Java 流按 List<Map<String, Object>> 分组到 Map<Integer, List<Integer>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51975124/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com