案例一:
一个包含 1,00,000 个条目的 HashMap
案例 2:
两个 HashMap
,每个有 50,000 个条目。
以上哪种情况会占用更多的执行时间和更多的内存?还是两者有显着差异?
用两个条目数较少的HashMap
替换一个条目数较大的HashMap
是否可行?
最佳答案
最好使用单个 HashMap 。
查找在散列映射中非常有效,并且它们被设计为包含很多元素。如果您必须先放置一些东西来搜索一个映射然后再在另一个映射中查找,那么整体速度会变慢如果您没有在第一个中找到它。
(两种方式在内存使用上不会有太大差异。)
如果当前速度太慢,请检查您的 .hashCode()
和 .equals()
是否效率低下。
关于java - HashMap用作Cache时的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27185523/