У меня есть список карт [String, Double], и я хотел бы объединить их содержимое в одну карту [String, Double]. Как я должен делать это с идиоматическим способом? Я предполагаю, что смогу сделать это со сгибом. Что-то вроде:
val newMap = Map[String, Double]() /: listOfMaps { (accumulator, m) => ... }
Кроме того, я бы хотел обработать ключевые коллизии общим способом. То есть, если я добавлю ключ к уже существующей карте, я должен будет указать функцию, которая возвращает Double (в данном случае) и принимает существующее значение для этого ключа, плюс значение, которое я пытаюсь добавить, Если ключ еще не существует на карте, просто добавьте его и его значение не изменится.
В моем конкретном случае я хотел бы создать единую карту [String, Double], так что если в карте уже содержится ключ, то Double будет добавлен к существующему значению карты.
Я работаю с изменчивыми картами в своем конкретном коде, но, если возможно, меня интересуют более общие решения.