例如,Scala有官方Collections Performance Characteristics页面,其中显示了类似apply()
(get in Java),insert()
和append()
等方法的时间复杂度List
,Array
和ArrayBuffer
。
但是,我在Kotlin找不到这样的信息。
Kotlin stdlib API页面也没有此类信息。更糟糕的是,我没有获得有关List(由listOf()左右创建)的底层实现的信息,例如,除非我深入研究源代码。
Kotlin中的List
是否需要O(n)时间访问一个元素,并且需要O(1)时间附加一个元素?
我在哪里可以找到这些信息?
答案 0 :(得分:5)
Kotlin stdlib不包含自己的集合,在JVM上listOf
只是对Java Collections.emptyList()
,Collections.singletonList()
和ArrayList
的绑定。 ArrayList具有O(1)位置访问复杂性。