gpt4 book ai didi

Java 8 Streams - 分组为单个值

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:58:05 25 4
gpt4 key购买 nike

<分区>

我目前正在使用 List<Map<String, Object>>我试图在 map 中对各种键进行分组。这似乎可以很好地使用 Java 8 Stream 小号:

Map<Object, Map<Object, List<Map<String, Object>>>> collect =
list
.stream()
.collect(Collectors.groupingBy(
item -> item.get("key1"),
Collectors.groupingBy(item -> item.get("key2"))
));

不出所料,这给了我一个 Map<Object, Map<Object, List<Map<String, Object>>>>这适用于可能的分组结果大于 1 的情况。

例如,我有各种示例,其中完成的分组将总是导致最低级别列表中的单个项目。

行列表

{
[reference="PersonX", firstname="Person", dob="test", lastname="x"],
[reference="JohnBartlett", firstname="John", dob="test", lastname="Bartlett"]
}

按引用分组

目前 - 分组到列表中 1 Map<String,Object>

[PersonX, { [reference="PersonX", firstname="Person", dob="test", lastname="x"]}],
[JohnBartlett, { [reference="JohnBartlett", firstname="John", dob="test", lastname="Bartlett"]}]

偏好 - 不列出一个 Map<String,Object>

[PersonX, [reference="PersonX", firstname="Person", dob="test", lastname="x"]],
[JohnBartlett, [reference="JohnBartlett", firstname="John", dob="test", lastname="Bartlett"]]

流中有没有办法强制这些实例的输出为 Map<Object, Map<Object, Map<String, Object>>> - 所以一个Map<String,Object>而不是 List他们中的?

如有任何帮助,我们将不胜感激。

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