Java 8 - 返回 List (keyset) 反对 List<Map.Entry<Integer, CheckBox>>

标签 java java-8 vaadin

我正在尝试使用 java 8 返回一个键值列表(整数),其中选中了值(复选框)。我正在尝试处理的 map 具有以下形式。

Map<Integer, CheckBox> 

目的是返回选中复选框值的所有值的键集。

如果我执行以下操作

checkBoxes.entrySet().stream().filter(c -> c.getValue().getValue())
                .collect(Collectors.toList());

然后我得到一个List<Map.Entry<Integer, CheckBox>>无论如何,是否可以在不处理 Map.Entry 值的情况下在一行中完成所有操作,这样我就可以获得一个整数列表?

谢谢

最佳答案

您可以添加一个 map 调用以从条目中提取 key :

List<Integer> keys = checkBoxes.entrySet().stream()
            .filter(c -> c.getValue().getValue())
            .map(Map.Entry::getKey)
            .collect(Collectors.toList());

关于Java 8 - 返回 List (keyset) 反对 List<Map.Entry<Integer, CheckBox>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30999436/

相关文章:

java - Apache Maven 无法在 cmd 中工作

java - 在 Java 8 中使用 .class 进行转换?

java - Vaadin 8 设置 session 超时

java - 在 Vaadin 6 中检测应用程序停止

maven - 在 pom.xml 中包含 vaadin-cdi 依赖项足以使 WAR 无法部署。为什么?

java流: easiest way to find adjacent value match

java - 编辑场景生成器生成模型

java - 使用 Java 代码未完全下载文件

java - 使用静态方法作为 JavaFX 更改监听器

Java 流 : put new element through existing stream