¿Cómo encontrar con suma forEach y expresión lambda en Java?

Dinero programador orientado a:

El siguiente fragmento no compila. ¿Cómo encontrar el sumuso forEachcomo se muestra a continuación?

private int Sum(ArrayList<Integer> inputs) {
    int sum = 0;

    inputs.stream().forEach(x -> sum += x);

    return sum;
}
Nicholas K:

Esto debería funcionar:

private int Sum(ArrayList<Integer> inputs) {

  return inputs.stream().mapToInt(Integer::intValue).sum();

}

EDIT:

El problema con el uso for-eaches que se trata de una operación de terminales, lo que significa que no produce otra corriente intermedia para nosotros trabajar en. El mejor enfoque sería usar mapToIntque produce una IntStreamsobre la que podemos encontrar fácilmente la suma.

Supongo que te gusta

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