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

发布于 2024-11-30 08:16:55 字数 87 浏览 2 评论 0原文

假设我只删除一个元素。我希望这些方法能够实现固定大小的 ListBuffer。我只会使用它们在 O(1) 时间内运行的情况。该文档有点含糊,有人知道实现细节吗?

Suppose I'm only removing a single element. I would like these methods to implement a fixed size ListBuffer. I would only use if they run in O(1) time. The documentation is slightly ambiguous does anybody know the implementation details?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫南 2024-12-07 08:16:55

相关实现是 那里(对于 ListBuffer那里 (对于BufferLike

trimStart(n) 相对于 n 是线性的(因此,如果删除单个元素,则为常数); trimEnd(n) 与集合的大小呈线性关系。

除此之外,我不明白您如何希望拥有一个固定大小的 ListBuffer 并使用此类 trim 方法更改大小......

The relevant implementation is there (for ListBuffer) and there (for BufferLike).

trimStart(n) is linear with respect to n (so, constant if you remove a single element); trimEnd(n) is linear with respect to the size of the collection.

Apart from that, I fail to see how you want to have a fixed-size ListBuffer on which you change the size with such trim methods…

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文