HashMap 和 ArrayList 之间的 Java 速度比较



我想知道在Hashmap和ArrayList中搜索元素之间是否有任何比较。我遇到的情况如下:我将有少量元素(通常 4-6 个可能最多 10 个(。我有这种元素的整数 Id,我会收到很多调用,这些调用将使用 id 搜索元素并在此元素上执行一些方法。 它看起来像是哈希图的良好用例,但是我开始怀疑像ArrayList这样的线性集合在这里是否会更好。例如,由于 CPU 缓存。并且还要在地图上使用搜索,我需要自动装箱才能从原语创建整数。 问题是在这种情况下更好的是线性搜索和比较原始整数还是坚持哈希图?

如果你的 id 不是基于索引的,那么 ArrayList#get 将被O(n)(你必须迭代元素(,而 HashMap#get 将被O(1)

最新更新