gpt4 book ai didi

java - 使用 java8 流将 Map> 转换为 List

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:00 27 4
gpt4 key购买 nike

我喜欢 Java 8 中的 Streams 概念。现在我想借助 Java Streams 将 Java 中的 Map 转换为排序列表。我只想显示列表而不将其存储在任何地方。我希望在结果列表中有这个输出:

5, 7, 8, 10, 19, 20, 22, 28, 30, 35, 40, 45, 50 . 

这是我的代码:

    Map<Integer, List<Integer>> obj=new HashMap<Integer, List<Integer>>();
obj.put(5, Arrays.asList(7,8,30));
obj.put(10, Arrays.asList(20));
obj.put(19, Arrays.asList(22,50));
obj.put(28, Arrays.asList(35,40,45));

最佳答案

我不明白为什么有人会想要这样做(除了玩 Streams),但你可以将 Map 转换为 的平面 Stream >整数然后排序:

List<Integer> sorted =
obj.entrySet()
.stream()
.flatMap(e-> Stream.concat(Stream.of(e.getKey()),e.getValue().stream()))
.sorted()
.collect(Collectors.toList());

关于java - 使用 java8 流将 Map<Integer, List<Integer>> 转换为 List<Integer>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43514002/

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