Tôi có một Danh sách Bản đồ [Chuỗi, Đôi] và tôi muốn hợp nhất nội dung của chúng thành một Bản đồ [Chuỗi, Đôi]. Làm thế nào tôi nên làm điều này một cách thành ngữ? Tôi tưởng tượng rằng tôi sẽ có thể làm điều này với một lần. Một cái gì đó như:Scala: cách hợp nhất một bộ sưu tập Bản đồ
val newMap = Map[String, Double]() /: listOfMaps { (accumulator, m) => ... }
Hơn nữa, tôi muốn xử lý các va chạm chính theo cách tổng quát. Tức là, nếu tôi thêm một khóa vào bản đồ đã tồn tại, tôi sẽ có thể chỉ định một hàm trả về một Double (trong trường hợp này) và lấy giá trị hiện tại cho khóa đó, cộng với giá trị mà tôi đang cố thêm vào . Nếu khóa chưa tồn tại trong bản đồ, thì chỉ cần thêm nó và giá trị của nó không bị thay đổi.
Trong trường hợp cụ thể, tôi muốn xây dựng một Map [String, Double] duy nhất sao cho nếu bản đồ đã chứa khóa, thì Double sẽ được thêm vào giá trị bản đồ hiện có.
Tôi đang làm việc với các bản đồ có thể thay đổi trong mã cụ thể của mình, nhưng tôi quan tâm đến các giải pháp chung chung hơn, nếu có thể.
Đây chính là cách tôi đã cố gắng thực hiện nó ban đầu. Tôi đã không nghĩ rằng để đặt cho hiểu-có - Tôi vẫn nhận được sử dụng để sử dụng chúng như thế này, nhưng nó có ý nghĩa. Trong trường hợp này, tôi có thể thấy nó giống như sự hiểu biết danh sách của Python, cái mà tôi thấy thoải mái hơn nhiều. Cũng giống như việc sử dụng kết quả mang nếu biểu thức bên trong cuộc gọi đến a. +(). – Jeff
câu trả lời rõ ràng. kudo –