HashMap还是ArrayList?

来源:互联网 发布:原生js简单插件的封装 编辑:程序博客网 时间:2024/05/21 01:44

HashMap还是ArrayList,哪个速度快?

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

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

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

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

Technorati 标签: HashMap,ArrayList