为什么Scala中没有可变的有序映射

时间:2016-09-05 16:09:50

标签: java scala functional-programming

我一直在寻找在scala中实现可变排序映射的选项。我知道我可以将数据存储在可变映射中,然后在需要时转换为有序映射或从Java封装TreeMap。但是,有没有人知道为什么这不在scala中实现?是否违反任何函数式编程风格?

此致

2 个答案:

答案 0 :(得分:3)

没有理由,但遗漏了写一个。实际上,a mutable sorted map was added to Scala 2.12.x

答案 1 :(得分:1)

this old answer中有一些关于可能没有实施的可能原因的讨论。

关于你的第二个问题,Scala中还有其他可变集合,所以我没有看到任何难以理解的可能不是一个可变排序映射(也参见旧问题)。在更一般的意义上,可以采用函数式编程来暗示不使用可变数据,并且在这种情况下将避免可变的有序映射。然而,可以使用可变的集合"在幕后"在库中提高性能,只要它们不会对库的用户可见。