我正在尝试使用 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/