DsCpp:
Actualmente el código de uso sencillo bucle foreach de edad
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..
}
}
Y yo estoy tratando de lograr algo parecido
someHashMap.entrySet().stream().apply((key,value) -> if preEvalObj.equals(key) lambda1 else lambda2)
¿Puedo utilizar las corrientes de lograr mi objetivo?
también:
Una forma posible (no usar corrientes aunque) podría ser para iterar sobre la tecla, el valor de par ( BiConsumer
aplicación) como:
someHashMap.forEach((key, value) -> {
if (preEvalObj.equals(key)) {
someOpsOnValue(); // lambda1Onvalue
} else {
someOtherOpsOnValue(); // lambda2lambda1Onvalue
}
});
o el mismo expresa como un poco más fácil de leer, al menos en mi humilde opinión
BiConsumer<String, Float> biConsumer = (key, value) -> {
if (key.equals("123")) { // preEvalObj
someOpsOnValue(); // lambda1Onvalue
} else {
someOtherOpsOnValue(); // lambda2lambda1Onvalue..
}
};
someHashMap.forEach(biConsumer);
Nota al margen , el constructor es redundante para String
inicialización -
String preEvalObj = "123";