【问题标题】:Performance characteristics of SortedSetSortedSet 的性能特点
【发布时间】:2018-10-19 16:04:53
【问题描述】:

我想将项目保存在排序后的列表中,以便快速访问。加法/检索性能很重要,但我找不到任何有关SortedSet 性能特征的信息:https://docs.scala-lang.org/overviews/collections/performance-characteristics.html

SortedSet 是用于在我的项目排序时快速添加/检索的最佳类吗?

【问题讨论】:

  • 我猜如果你在看布景,你的元素是独一无二的?
  • 也许有关您的用例的更多详细信息可以提供更详细的答案。

标签: scala


【解决方案1】:

Scala 2.12 中SortedSet 的默认实现使用TreeSet

scala> val s = scala.collection.SortedSet(3, 5, 1)
s: scala.collection.SortedSet[Int] = TreeSet(1, 3, 5)

在内部,TreeSet 是使用 Red-black tree 实现的。这意味着搜索和插入操作都将在O(log(n)) 中。这是否足够“快速”真的取决于您的应用程序的特性,我不知道足以提供更广泛的答案。

有关收集性能的更多详细信息,this blog post by Li Haoyi is a great place to start

【讨论】:

    猜你喜欢
    • 2014-02-25
    • 2013-01-18
    • 2014-09-06
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多