scala – 为什么在ArrayBuffer上调用“tail”需要线性时间?
发布时间:2020-12-16 10:04:45 所属栏目:安全 来源:网络整理
导读:检查: http://www.scala-lang.org/docu/files/collections-api/collections_40.html 它说ArrayBuffer在请求尾部时需要线性时间.但是,附加时速度要快得多 我的理解是ArrayBuffer只是一个动态数组. 如何追加是分摊常数时间,但获得最后一个元素需要线性时间?
检查:
http://www.scala-lang.org/docu/files/collections-api/collections_40.html
它说ArrayBuffer在请求尾部时需要线性时间.但是,附加时速度要快得多 我的理解是ArrayBuffer只是一个动态数组. 如何追加是分摊常数时间,但获得最后一个元素需要线性时间? 解决方法
尾巴不是最后一个元素,它是所有元素而是第一个.你想要最后一次.
Seq('a','b','c').head // 'a' Seq('a','c').tail // Seq('b','c') Seq('a','c').init // Seq('a','b') Seq('a','c').last // 'c' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |