在使用
java 7提供的HashMap时,我遇到了问题,即get()从O(1)演变为O(n),如
here所述,并在java 8中解决.
但是因为我必须坚持使用java 7并且无法升级项目,我正在寻找一个库或任何方式来获得一个快速且常量的get().
解决方法
Java 8中的变化的本质:
来自您的链接Performance Improvement for HashMap in Java 8
Buckets containing a large number of colliding keys will store their entries in a balanced tree instead of a linked list after certain threshold is reached.
您可以通过改进hashCode实现来减少冲突键的数量来实现等效.
如果没有hashCode计算的详细信息或值的模式,则很难进一步建议.