gpt4 book ai didi

java - 将 List> 转换为 List Java 8

转载 作者:行者123 更新时间:2023-12-01 06:27:53 30 4
gpt4 key购买 nike

我有一个 map 列表,其中每个 map 只有一个键值对。我需要将其转换为键列表。我尝试按如下方式使用流:

List<Map<Long, String>> lst = // some data
List<Long> successList = lst.stream().map(ele -> ele.keySet().toArray()[0]).collect(Collectors.toList());

但我最终收到以下错误:

java: incompatible types: inference variable T has incompatible bounds
equality constraints: java.lang.Long
lower bounds: java.lang.Object

如何解决这个问题或者有更好的方法吗?

最佳答案

使用Stream#flatMap如下所示:

lst.stream()
.flatMap(e->e.entrySet().stream())
.map(e->e.getKey())
.collect(Collectors.toList());

编辑:(根据评论)更优雅的方式是使用 Map#keySet 而不是 Map#entrySet

lst.stream()
.flatMap(e -> e.keySet().stream())
.collect(Collectors.toList());

关于java - 将 List<Map<Long, String>> 转换为 List<Long> Java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55081505/

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