Mam java.util.Map<Foo, Double>
dla klasy kluczowej Foo
. Nazwijmy instancję mapy map
.Umieszczenie nowej wartości w mapie, jeśli nie jest ona dostępna, lub dodanie jej, jeśli jest to
chcę dodać {foo
, f
} (foo
jest instancją Foo
i f
Double
) na tej mapie. Ale jeśli klucz foo
jest już dostępny, chcę podsumować f
do bieżącej wartości na tej mapie.
Obecnie używam
Double current = map.get(foo);
f += current == null ? 0.0 : current;
map.put(foo, f);
Ale jest tam ostry sposób to zrobić w Java 8, takie jak wykorzystanie Map#merge
i Double::sum
?
Niestety nie mogę tego rozgryźć.
Dziękuję.
To jest cudowne. Dokładnie to, czego chciałem. Dziękuję Ci. –