Java 8 - 返回列表(键集),与List <map.entry <integer,checkbox =“”>&gt;相对

时间:2015-06-23 09:51:06

标签: java java-8 vaadin

我正在尝试使用java 8返回一个键值(整数)列表,其中选中了值(Checkbox)。我想要处理的地图是以下形式。

Map<Integer, CheckBox> 

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

如果我执行以下操作

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

然后我回到List<Map.Entry<Integer, CheckBox>>无论如何都要在一行中完成这一切而不处理Map.Entry值,这样我就可以得到一个整数列表?

由于

1 个答案:

答案 0 :(得分:8)

您可以添加map来从条目中提取密钥:

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