2015-04-28 34 views
1

現在我有一個HashMap我試圖減少到一個總數。這裏是當前的代碼:使用Java 8和HashMap清除地圖減少

HashMap map = new HashMap<String, Long>(); 
map.put("ex1", 757L); 
map.put("ex2", 77L); 

map.values() 
    .stream() 
    .reduce(0L, (a, b) -> a + b); 

有沒有更好的方法來做到這一點?我想使用sum方法。

+1

同樣[本](http://stackoverflow.com/q/24421140/2711488),只需用'INT替換'double' ',分別。帶有Integer的'Double' ... – Holger

回答

6

您可以使用mapToLong獲得LongStream然後調用sum()

long sum = map.values().stream().mapToLong(i -> i).sum();