Scala 为什么调用;“尾巴”;在ArrayBuffer上使用线性时间?
检查: 它说ArrayBuffer在请求尾部时需要线性时间。但是,附加时速度要快得多 我的理解是ArrayBuffer只是一个动态数组 为什么追加是固定时间摊销,但获取最后一个元素需要线性时间?Scala 为什么调用;“尾巴”;在ArrayBuffer上使用线性时间?,scala,data-structures,Scala,Data Structures,检查: 它说ArrayBuffer在请求尾部时需要线性时间。但是,附加时速度要快得多 我的理解是ArrayBuffer只是一个动态数组 为什么追加是固定时间摊销,但获取最后一个元素需要线性时间?tail不是最后一个元素,而是第一个元素以外的所有元素。您需要最后一个 Seq('a', 'b', 'c').head // 'a' Seq('a', 'b', 'c').tail // Seq('b', 'c') Seq('a', 'b', 'c').init // Seq('a', 'b') S
tail
不是最后一个元素,而是第一个元素以外的所有元素。您需要最后一个
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'
pffft,我想我需要吃早餐。非常感谢。