Я бы создал метод следующим образом:
public void put(String key, Double value){
costByDuration.merge(key,value , Double::sum);
}
, тогда вариант использования будет:
put(call_from, toPay);
put(anotherKey, anotherValue);
...
...
Это решение внутренне использует merge
метод, который в основном говорит, что указанный ключ еще не связан со значением или связан с нулем, связывает его с заданным ненулевым значением.В противном случае заменяет связанное значение результатами данной функции переназначения.