data-structures - Scala 中的持久数据结构

标签 data-structures scala clojure persistent

Scala 中的所有不可变数据结构都是持久的吗?如果不是,它们中的哪些是,哪些不是?那些坚持不懈的人的行为特征是什么?此外,它们与 Clojure 中的持久数据结构相比如何?

最佳答案

Scala 的不可变数据结构都是持久的,从某种意义上说,旧值由“更新”操作维护。事实上,我不知道不可变和持久之间的区别。对我来说,这两个术语是别名。

Scala 2.8 的两个不可变数据结构是向量和哈希尝试,表示为 32 叉树。这些最初是由 Phil Bagwell 设计的,他在 EPFL 与我的团队一起工作,然后被 Clojure 采用,现在最终被 Scala 2.8 采用。 Scala 实现与 Clojure 实现共享一个共同的根,但肯定不是它的一个端口。

关于data-structures - Scala 中的持久数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107151/

相关文章:

python - 创建一组 Python 类

search - 最快的搜索和插入

python - 如何在忽略前缀的情况下对数据框进行排序?

scala - 将 Pk[Long] 转换为表单中的 Option[Long]

multithreading - 并行过滤惰性序列

clojure - 返回满足谓词的映射/列表/序列中的第一项

clojure - Compojure route 的逗号

c - 如何在 Gtree (glib) 上搜索元素?

scala - 通过谓词拆分迭代器

scala - 函数式 scala-如何避免可选映射上的深度嵌套