C:\Users\Admin\Desktop我不是大牛,但是可以给你说一下我的理解。
Arraylist是的底层是数组结构的,所以每一个元素对应的都有角标,我们查询的时候只通过角标就可以查询。但是你要删除某个元素的时候,这个元素后面的元素就必须向前移一位。当Arraylist的数据量很大的时候,这会需要很大的运算量,添加也是同样的道理,所以插入和删除的时候效率低。
Linkedlist是双链表结构的,它的特点是每一个元素都只会记得前边和后边的元素,所以在查询的时候它是按照从前的顺序一个个查的,但是删除的时候我们只需要把删除元素前后的元素互相记着对方即可。添加也是同样的道理。所以插入和删除效率高,查询低。
请看下面毕老师曾经画的图
|