Kotlin标准集合库的时间复杂度是否有任何参考?
例如,Scala具有正式的Collections Performance Characteristics页面,它显示像List
, Array
和ArrayBuffer
这样的集合中的apply()
(get in Java), insert()
和append()
方法的时间复杂性。
但是,我无法在Kotlin找到这样的信息。
Kotlin stdlib API页面也没有这样的信息。 更糟糕的是,我没有得到有关List的基本实现的信息(由listOf()创建),例如,除非我深入了解源代码。
那么Kotlin中的List
需要O(n)次访问一个元素,并且在O(1)时间附加一个元素?
我在哪里可以找到这些信息?
Kotlin stdlib不包含它自己的集合,在JVM上listOf
只是对Java的Collections.emptyList()
, Collections.singletonList()
和ArrayList
的绑定。 ArrayList具有O(1)位置访问复杂性。