在Scala中,对于ListBuffer,trimStart和trimEnd的运行时间是多少?

del*_*ber 3 complexity-theory scala scala-collections

假设我只删除一个元素.我希望这些方法实现一个固定大小的ListBuffer.我只会在O(1)时间运行时使用.如果有人知道实现细节,那么文档有点含糊不清?

Jea*_*let 6

相关的实现是(for ListBuffer)那里(for BufferLike).

trimStart(n)相对于n(因此,如果删除单个元素,则为常量); trimEnd(n)相对于集合的大小是线性的.

除此之外,我没有看到你想如何ListBuffer使用这种trim方法改变尺寸的固定尺寸......