支票:http://www.scala-lang.org/docu/files/collections-api/collections_40.html
它说 ArrayBuffer 在请求尾部时需要线性时间。但是,附加时要快得多
我的理解是 ArrayBuffer 只是一个动态数组。
为什么追加是摊销常数时间,但获得最后一个元素需要线性时间?
最佳答案
tail
不是最后一个元素,它是第一个元素之外的所有元素。你要last
.
Seq('a', 'b', 'c').head // 'a'
Seq('a', 'b', 'c').tail // Seq('b', 'c')
Seq('a', 'b', 'c').init // Seq('a', 'b')
Seq('a', 'b', 'c').last // 'c'
关于scala - 为什么在 ArrayBuffer 上调用 "tail"需要线性时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477094/