Comment obtenir la somme des valeurs d'un tableau d'objets: java8
Dans la variable "a" - je créer un double
tableau, et dans "maxA", j'obtiens la somme des valeurs. Maintenant, dans la variable "b", je crée un tableau d'objets avec des valeurs doubles, maintenant je veux avoir la somme de ces valeurs en utilisant la valeur stream
. merci pour l'aide
double[] a = new double[] {3.0,1.0};
double maxA = Arrays.stream(a).sum();
ObjectWithDoubleValue o1 = new ObjectWithDoubleValue (3.0);
ObjectWithDoubleValue o2 = new ObjectWithDoubleValue (1.0);
ObjectArray[] b = {o1 , o2};
double maxB = ?;
1
Author: Pavneet_Singh, 2016-12-29
1 answers
Utilisez mapToDouble
qui retournera un DoubleStream
et utilisera la fonction getter
de votre classe pour obtenir la valeur de votre objet et éventuellement appliquer sum
Arrays.stream(aa).mapToDouble(ObjectWithDoubleValue::getValue).sum()
Où getValue
est un getter
fonction de votre classe
class ObjectWithDoubleValue{
double a;
public double getValue(){
return a;
}
}
Échantillon
ObjectWithDoubleValue a1= new ObjectWithDoubleValue();
a1.a=3.0;
ObjectWithDoubleValue a2= new ObjectWithDoubleValue();
a2.a=3.0;
ObjectWithDoubleValue[] aa={a1,a2};
System.out.println(Arrays.stream(aa).mapToDouble(ObjectWithDoubleValue::getValue).sum());
Sortie :
6.0
3
Author: Pavneet_Singh, 2016-12-29 11:44:26