El uso de corrientes para aplicar diferentes funciones en el par de valores clave en función de las teclas

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 ( BiConsumeraplicació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 Stringinicialización -

String preEvalObj = "123";

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=182057&siteId=1
Recomendado
Clasificación