【问题标题】:Is there any reference for Kotlin standard Collection library time complexity?Kotlin 标准集合库时间复杂度是否有任何参考?
【发布时间】:2017-06-23 16:38:43
【问题描述】:

例如,Scala 有官方的Collections Performance Characteristics 页面,该页面显示apply()(Java 中的get)、insert()append() 等方法在ListArray 等集合中的时间复杂度,和ArrayBuffer

但是,我在 Kotlin 中找不到此类信息。

Kotlin 标准库 API 页面也没有此类信息。更糟糕的是,我没有得到关于List(由listOf() 左右创建)的底层实现的信息,例如除非我深入研究源代码。

那么 Kotlin 中的 List 是否需要 O(n) 时间访问一个元素,而需要 O(1) 时间附加一个元素?

我在哪里可以找到这些信息?

【问题讨论】:

    标签: collections time-complexity kotlin


    【解决方案1】:

    Kotlin 标准库不包含自己的集合,在 JVM 上 listOf 只是与 Java 的 Collections.emptyList()Collections.singletonList()ArrayList 的绑定。 ArrayList 的位置访问复杂度为 O(1)。

    【讨论】:

    • 如果listOf()对应JVM中的ArrayList,那么arrayListOf()在Kotlin中的作用是什么?
    • 好吧,也许这就是:stackoverflow.com/questions/43182333/…
    • listOf()ListmutableListOf()MutableListarrayListOf()ArrayList()。所以,List是为了阅读,MutableList是可以改变的,ArrayList是一个具体的MutableList实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    相关资源
    最近更新 更多