我想知道在Hashmap和ArrayList中的搜索元素之间是否有任何比较。我遇到的情况如下:我会有少量的元素(通常是4-6个,可能最多10个)。我有这样的元素的整数Id,我会得到很多调用,它们会使用id搜索元素,并在这个元素上执行一些方法。这看起来是哈希图很好的用例,但是我开始怀疑像ArrayList这样的线性集合在这里会不会更好。例如由于CPU高速缓存。此外,为了在地图上使用搜索,我需要自动装箱来从图元创建Integer。对于这种情况,更好的问题是对原始int进行线性搜索和比较,或者更确切地说,是坚持hashmap?
发布于 2020-02-11 01:00:11
如果您的If不是基于索引的,那么ArrayList#get将是O(n) (您必须迭代元素),而HashMap#get将是O(1)。
https://stackoverflow.com/questions/60154922
复制相似问题