gpt4 book ai didi

java - 通过 Stream API 从 Map 获取排序列表

转载 作者:行者123 更新时间:2023-12-01 18:01:55 24 4
gpt4 key购买 nike

我尝试使用 Stream API 实现以下场景,但没有成功。

我有以下图表。键是该人的姓名,并且该集合具有该人的 friend 的姓名(键)。

Map<String, Set<String>> fooGraph

我想要一个根据一个人拥有的 friend 数量(受欢迎程度)排序的 ArrayList。

例如,

这是 fooGraph 及其值

x -> a,b,c

y -> a

z -> a,b,c,d,e,f

t -> a,b,c,d

最终,我想根据一个人的受欢迎程度列出一个列表。该列表应如下所示

z, t, x, y

如何使用Stream API来实现?

最佳答案

List<String> sorted = fooGraph.entrySet()
.stream()
.sorted(Comparator.comparing(e -> e.getValue().size(), Comparator.reverseOrder()))
.map(Map.Entry::getKey)
.collect(Collectors.toList());

关于java - 通过 Stream API 从 Map 获取排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40292908/

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