在哪里可以找到不同 java 容器的性能指标(big-Oh 表示法)?

发布于 2024-09-19 15:25:44 字数 144 浏览 5 评论 0原文

当决定使用特定容器(List/Set/Map)时,我喜欢考虑插入、删除、获取等操作的性能(big-Oh 表示法)指标。这样我就可以选择最佳的容器我的需要。

API 文档始终指定同步/不同步,但不指定其他性能指标。

有没有我可以查阅的参考表?

When deciding to use a specific container (List/Set/Map), I like to consider the performance (big-Oh notation) metrics of operations such as insert, delete, get, etc. This is so I can select the best container for my needs.

The API docs always specify synchronized/unsynchronized, but not other performance metrics.

Is there a table of reference anywhere that I can consult?

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

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

发布评论

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

评论(2

dawn曙光 2024-09-26 15:25:44

Java 泛型和集合 包含所有集合实现的此类数据。

Java Generics and Collections contains such data for all collection implementations.

呢古 2024-09-26 15:25:44

如果您查看其中一个接口的具体实现,它将为您提供性能信息。例如,查看 ArrayList ,您可以读这个:

大小、isEmpty、获取、设置、迭代器、
和 listIterator 操作运行在
恒定时间。添加操作运行
在摊余常数时间内,即
添加 n 个元素需要 O(n) 时间。
所有其他操作都运行在
线性时间(粗略地说)。这
与以下相比,常数因子较低
对于 LinkedList 来说
实施。

If you look at a specific implementation of one of the interfaces, it will give you performance information. Looking at ArrayList for example, you can read this:

The size, isEmpty, get, set, iterator,
and listIterator operations run in
constant time. The add operation runs
in amortized constant time, that is,
adding n elements requires O(n) time.
All of the other operations run in
linear time (roughly speaking). The
constant factor is low compared to
that for the LinkedList
implementation.

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