【问题标题】:Why no mutable sorted map in Scala为什么 Scala 中没有可变排序映射
【发布时间】:2017-01-13 01:01:47
【问题描述】:

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

问候

【问题讨论】:

  • 函数式编程的两个关键概念是“函数是对象”和“不变性”
  • 那么,最好的实现应该是拥有一个可变映射,然后通过排序将该映射转换为新映射。 ?
  • 然而,@Jasper-M scala 有可变集合 mutable.Map 等。

标签: java scala functional-programming


【解决方案1】:

没有任何理由,但没有写一个。其实a mutable sorted map was added to Scala 2.12.x

【讨论】:

    【解决方案2】:

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

    关于您的第二个问题,Scala 中还有其他可变集合,所以我看不出有什么硬性理由不能存在可变排序映射(也请参阅较早的问题)。在更一般的意义上,函数式编程可以用来暗示不使用可变数据,在这种情况下,将避免使用可变排序映射。然而,可变集合可以很好地用于库中的“幕后”以提高性能,只要它们对库的用户不可见。

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 1970-01-01
      • 2011-05-30
      • 2023-04-09
      • 2011-03-26
      • 1970-01-01
      • 2020-10-14
      • 2016-02-05
      • 1970-01-01
      相关资源
      最近更新 更多