¿Sumar múltiples campos diferentes en una lista de objetos usando las secuencias api?

En Java 8, si tengo una lista de objetos como este:

 MyObject
   double a;
   double b;
   double c;

Quiero obtener los totales de cada uno de estos campos en la lista de objetos. Una forma de hacerlo es la siguiente:

double totalA = myListOfObjects.stream().map(e -> e.getA()).reduce(0.0, (x, y) -> x + y);
double totalB = myListOfObjects.stream().map(e -> e.getB()).reduce(0.0, (x, y) -> x + y);
double totalC = myListOfObjects.stream().map(e -> e.getC()).reduce(0.0, (x, y) -> x + y);  

Pero, ¿hay alguna posibilidad de combinar esto en una sola pasada a través de la lista de objetos que utilizan las secuencias api? Si solo escribiera un bucle for / while (ver más abajo) y sumara manualmente los 3 totales, eso parecería más eficiente que las 3 líneas de código anteriores)

for (MyObject obj: myListOfObjects) {
    totalA += obj.getA();
    totalB += obj.getB();
    totalC += obj.getC();
}

Gracias

Respuesta 1

Estoy desarrollando una aplicación GWT en Eclipse y uso jdom2 para leer algunos archivos de propiedades xml personalizados. Después de una actualización reciente, mi aplicación ahora falla con el error anterior al intentar leer el xml ...

He creado un archivo Jar, pero no puedo hacer que se ejecute haciendo doble clic. Funciona bien usando java -jar name.jar o haciendo un archivo por lotes. Ya reinstalé jdk1.8.0_102, configuré JAVA_HOME ...

Recientemente actualicé mi Android Studio a 0.8.2. Ahora, mi proyecto basado en anotaciones de Android no se puede construir. Parece que el procesamiento de anotaciones está deshabilitado de alguna manera. Parece que el compilador del proyecto ...

Quiero que mi programa verifique si cada elemento en toda la matriz int [] no es cero. Lo que tengo actualmente: para (int i = 0; i <myArray.length; i ++) {if (myArray [i] == 0) {complete = ...