list - 如何从 map 中获取 optional 值作为 optional 列表?

标签 list dictionary java-8 optional collectors

Map<Long, Optional<Long>> aMap = new HashMap<>();

这个映射有一些键和 optional 值。
Optional<List<Long>> valuesList = input.aMap().values().stream()
                            .collect(Collectors.toList());

上述方式有编译错误。如何正确获取 optional 列表?

最佳答案

你误解了返回值,别忘了一个 Optional<List<Long>>是一个 optional 对象,如果存在,它可以有 1 个列表....

你需要一个 List<Optional<Long>>

List<Optional<Long>> valuesList = input.aMap()
                   .values()
                   .stream()
                   .collect(Collectors.toList());

关于list - 如何从 map 中获取 optional 值作为 optional 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49313100/

相关文章:

r - 如何找到满足多个条件的 R 列表的索引

python - 基于内容重叠合并子列表,python 3

键的Python循环索引,使用items()时的值for-loop

Python Argparse 多次使用相同的参数

javascript - 通过点击 map 连接 2 个点

java - 无法在 Eclipse 中更改可运行 jar 文件的主要版本

java - transient 变量如何在 Worker 上可用

python - 词表生成(排序、优化)

java - 使用 java.util.Base64 编码和解码字符串

python - 使用循环更改二维列表中的多个值