我在内存中存储了(可能很大)数量的对象,我想通过 long
引用这些对象身份标识。目前,我使用的是标准 HashMap<Long, MyClass>
.我想知道是否有更好的方法来做到这一点,因为直觉上,我认为包装 long
在Long
真的没有意义。
请注意,截至目前,这个问题仍然有些学术性,到目前为止,我对当前解决方案没有任何性能问题。它很可能永远不会成为一个。不过,我预计很快我需要处理的数据会大幅增长,并且我开始整理一份想法 list ,如果事情变慢,我可能想看看这些想法。
最佳答案
首先,我真的怀疑这是否必要。但如果确实如此,请查看 TLongObjectHashMap在 trove4j。确实如此:)
郑重声明,它没有包装 HashMap ,而是使用数组来存储状态。
还有一些 benchmarks在 trove 网站上,这可能会有所帮助。
关于java - 在 Java 中,将 longs 映射到对象的最高效(时间、内存)方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940428/