【发布时间】:2022-02-03 11:19:30
【问题描述】:
我是流的新手,我正在尝试通过此映射过滤键/值对中的第一个真值,然后我想返回字符串键,并将真值替换为假。
我有一个字符串/布尔值映射:
Map<String, Boolean> stringMap = new HashMap<>();
//... added values to the map
String firstString = stringMap.stream()
.map(e -> entrySet())
.filter(v -> v.getValue() == true)
.findFirst()
//after find first i'd like to return
//the first string Key associated with a true Value
//and I want to replace the boolean Value with false.
这就是我卡住的地方——我可能也做错了第一部分,但我不确定如何在同一个流中返回字符串值和替换布尔值?我打算在这里尝试使用 collect 来处理返回值,但我认为如果我这样做它可能会返回一个 Set 而不是单独的字符串。
我可以使用它,但我更愿意尝试只返回字符串。我还想知道是否应该在这里使用 Optional 而不是 String firstString 局部变量。我一直在审查类似的问题,但我无法让它发挥作用,我有点迷茫。
以下是我检查过的一些类似问题,我无法在此处应用它们:
【问题讨论】:
标签: java hashmap java-stream