HashMap还是ArrayList,哪个速度快?
ArrayList的contains方法,只会依次遍历元素,和目标元素调用equals比较;
HashMap(HashSet也是通过HashMap实现的)的containsKey方法,首先算目标元素的hash值,然后算桶,再到桶里面去依次比较hash值,每个桶都是一个LinkedList;
大数据量一定是HashMap快O(1),而ArrayList是O(N)。
不过小数据量的时候,比如元素个数只有一个桶或者一个多桶的时候(默认每个桶8个元素),ArrayList要快些。
文章系本人原创,转载请注明作者和出处