我正在尝试使用java 8返回一个键值(整数)列表,其中选中了值(Checkbox)。我想要处理的地图是以下形式。
Map<Integer, CheckBox>
目的是返回检查复选框值的所有值的键集。
如果我执行以下操作
checkBoxes.entrySet().stream().filter(c -> c.getValue().getValue())
.collect(Collectors.toList());
然后我回到List<Map.Entry<Integer, CheckBox>>
无论如何都要在一行中完成这一切而不处理Map.Entry值,这样我就可以得到一个整数列表?
由于
答案 0 :(得分:8)
您可以添加map
来从条目中提取密钥:
List<Integer> keys = checkBoxes.entrySet().stream()
.filter(c -> c.getValue().getValue())
.map(Map.Entry::getKey)
.collect(Collectors.toList());