java - 在 Java 中,将 longs 映射到对象的最高效(时间、内存)方式是什么?

标签 java performance data-structures

我在内存中存储了(可能很大)数量的对象,我想通过 long 引用这些对象身份标识。目前,我使用的是标准 HashMap<Long, MyClass> .我想知道是否有更好的方法来做到这一点,因为直觉上,我认为包装 longLong真的没有意义。

请注意,截至目前,这个问题仍然有些学术性,到目前为止,我对当前解决方案没有任何性能问题。它很可能永远不会成为一个。不过,我预计很快我需要处理的数据会大幅增长,并且我开始整理一份想法 list ,如果事情变慢,我可能想看看这些想法。

最佳答案

首先,我真的怀疑这是否必要。但如果确实如此,请查看 TLongObjectHashMap在 trove4j。确实如此:)

郑重声明,它没有包装 HashMap ,而是使用数组来存储状态。

还有一些 benchmarks在 trove 网站上,这可能会有所帮助。

关于java - 在 Java 中,将 longs 映射到对象的最高效(时间、内存)方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940428/

相关文章:

java - 使用自定义容器作为 TestContainer 的数据库

java - 克服谷歌数据存储的 30 个子查询限制

java - 缩小 URL 的库/算法

java - 高效地遍历 HashMap 中的所有匹配键?

caching - 为什么缓存大小通常定义为素数?

java - 在 Java 中比较对象的更优雅的方式

c# - MongoDB C# 驱动程序获取速度快(1) 但速度慢(2)

javascript - 仅加载某些页面元素时进行测量

algorithm - 寻找最小元素 Stack 或 Heap 数据结构哪个更好

algorithm - 我找到了一种在 O(E/V) 中计算多个 MST 的算法。这个可以发表吗?