DsC*_*Cpp 5 java hashmap java-8 java-stream
目前代码使用普通的旧foreach循环
String preEvalObj = new String("123");
for(Map.Entry<String, Float> entry : someHashMap.entrySet()){
String key = entry.getKey();
Float value = entry.getValue();
if(preEvalObj.equals(key)){
lambda1Onvalue...
}else{
lambda2lambda1Onvalue..
}
}
Run Code Online (Sandbox Code Playgroud)
而我正在努力实现类似的目标
someHashMap.entrySet().stream().apply((key,value) -> if preEvalObj.equals(key) lambda1 else lambda2)
Run Code Online (Sandbox Code Playgroud)
我可以使用流来实现我的目标吗?
使用@nullpointer的答案,如果目标是改变值,你可以这样做
myHashMap.entrySet().stream().forEach(e -> {
if (!e.getKey().equals(trigger))
e.setValue(setNewValue);
else
e.setValue(setOtherNewValue);
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
581 次 |
最近记录: |