Map[String, Double] のリストがあり、それらの内容を単一の Map[String, Double] にマージしたいと考えています。これを慣用的な方法で行うにはどうすればよいですか?折り目でこれができるはずだと思います。何かのようなもの:
val newMap = Map[String, Double]() /: listOfMaps { (accumulator, m) => ... }
さらに、キーの衝突を一般的な方法で処理したいと考えています。つまり、既に存在するマップにキーを追加すると、Double (この場合) を返し、そのキーの既存の値と、追加しようとしている値を取る関数を指定できるはずです。 . キーがマップにまだ存在しない場合は、それを追加し、その値を変更しません。
私の特定のケースでは、マップに既にキーが含まれている場合、Double が既存のマップ値に追加されるように、単一の Map[String, Double] を作成したいと考えています。
特定のコードで変更可能なマップを使用していますが、可能であれば、より一般的なソリューションに興味があります。