J'ai un java.util.Map<Foo, Double>
pour une classe de clé-type Foo
. Appelons l'instance de la carte map
.Mettre une nouvelle valeur dans une carte si elle n'est pas présente, ou l'ajouter si elle est
Je veux ajouter {foo
, f
} (foo
est une instance de Foo
et f
un Double
) à cette carte. Mais si la clé foo
est déjà présente, je veux additionner f
à la valeur actuelle de cette carte.
Actuellement j'utilise
Double current = map.get(foo);
f += current == null ? 0.0 : current;
map.put(foo, f);
Mais est-il un moyen génial de le faire en Java 8, comme l'utilisation Map#merge
et Double::sum
?
Malheureusement, je ne peux pas comprendre.
Merci.
C'est merveilleux. Exactement ce que je voulais. Je vous remercie. –