java - LinkedHashMap的性能:大O、内存开销等
问题描述
这是一个新手问题:LinkedHashMap 的 get/put/contains 的大 O 是什么?据我了解,对于 TreeMap,它是 O(logN),对于 LinkedList(按值搜索/添加/删除),它是 O(N)。这会使 LinkedHashMap 在 O(logN) 上运行,还是表现更好?以及在性能和内存使用等方面与 HashMap 相比如何?
解决方案
LinkedHashMap
提供与 HashMap 类似的性能(就大 O 表示法而言),但也允许按插入顺序进行确定性迭代。
这意味着, get()
, put()
, contains()
, 都在O(1)
(摊销平均)中完成。
您可以在文档中阅读更多内容。
推荐阅读
- jquery - 嗨,我正在使用 BuddyX 主题和 buddyboss 平台插件。问题是,它没有在活动或群组中的帖子上显示“喜欢”的数量
- python - Pandas:从大型数据集中的数据框字符串中的特定列表中删除所有单词
- react-native - 在 vs 代码中,反应本机建议未显示
- javascript - 使用 JavaScript 获取 HTML 标记中定义的原始标题
- java - 应用程序关闭时如何计算android中的解锁次数?
- elasticsearch - 为什么 Lucene/Elasticsearch 前缀查询比术语查询慢?
- node.js - 将模型实例传递给函数
- django - Django UserPassesTestMixin 混淆/问题?
- tableau-api - Tableau - 通过一个基本文本网格上的单选过滤器在 2 个度量之间切换
- c++ - 向量大小与非零向量大小的整数比较