我正在尝试合并两个 map ,但没有用于加入集合的内置方法。你是怎么做到的?
最佳答案
您可以使用 Map.fold 和 Map.add 来实现这一点,因为 add 实际上是添加/替换:
let map1 = Map.ofList [ 1, "one"; 2, "two"; 3, "three" ]
let map2 = Map.ofList [ 2, "two"; 3, "oranges"; 4, "four" ]
let newMap = Map.fold (fun acc key value -> Map.add key value acc) map1 map2
printfn "%A" newMap
可能没有开箱即用地提供合并的原因是您需要处理 key 冲突。在这个简单的合并算法中,我们简单地从第二个映射中获取键值对,这可能不是您想要的行为。
关于collections - 在 F# 中,如何合并 2 个 Collections.Map 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974758/