HashMap还是ArrayList?

HashMap还是ArrayList,哪个速度快?

ArrayList的contains方法,只会依次遍历元素,和目标元素调用equals比较;

HashMap(HashSet也是通过HashMap实现的)的containsKey方法,首先算目标元素的hash值,然后算桶,再到桶里面去依次比较hash值,每个桶都是一个LinkedList;

大数据量一定是HashMap快O(1),而ArrayList是O(N)。

不过小数据量的时候,比如元素个数只有一个桶或者一个多桶的时候(默认每个桶8个元素),ArrayList要快些。

 

文章系本人原创,转载请注明作者和出处

你可能感兴趣的:(HashMap,ArrayList)