Tôi có một java.util.Map<Foo, Double>
cho loại khóa loại Foo
. Hãy gọi ví dụ của bản đồ map
.Đặt một giá trị mới vào Bản đồ nếu không có hoặc thêm vào nếu nó là
Tôi muốn thêm {foo
, f
} (foo
là một thể hiện của Foo
, và f
một Double
) vào bản đồ đó. Nhưng nếu khóa foo
đã có mặt, tôi muốn tổng hợp f
với giá trị hiện tại trong bản đồ đó.
Hiện nay tôi sử dụng
Double current = map.get(foo);
f += current == null ? 0.0 : current;
map.put(foo, f);
Nhưng có một cách sôi nổi để làm điều này trong Java 8, chẳng hạn như sử dụng Map#merge
, và Double::sum
?
Đáng tiếc là tôi không thể tìm ra.
Cảm ơn bạn.
Điều này thật tuyệt vời. Chính xác những gì tôi muốn. Cảm ơn bạn. –