- ArrayList的查询快,是基于它数据的存储形式是连续的,当知道第一个元素的下标时,我们就能很快根据已知元素的位置,而LinkedList的数据的存储形式时离散存储的,数据是非连续(离散)的,我们需要找到第一个元素后才能拿到下一个元素的地址,才能跳到下一个元素再拿到下一个元素,如此反复操作,所花的时间是远大于连输存储数据查询时间所花的时间,从这一点也能说明LinkedList查询数据慢,而ArrayList查询快的原因。
- ArrayList 增删慢,由于数据是连续存储的,那么插入和删除势必导致部分或整体数据的位置偏移,仅仅插入一个数据,却需要操作非插入元素的其他元素的位置的变动,而LinkedList 增删快,是因为数据存储是离散的链表结构,增加元素无需操作其他元素,只需将需要插入元素,然后将上一块元素和下一块元素的关于下一块数据的存储地址变更换成插入元素的存储地址即可,删除操作同理,避免操作非插入或删除的元素上下元素的其他元素,效率上远远大于ArrayList增删操作。
ArrayList和LinkedList效率比较
于 2022-06-25 15:19:13 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)