一、arraylist和linkedlist区别
1.arraylist和linkedlist都实现了list接口
2.arraylist和linkedlist都是容器可以存储对象
3.arraylist底层是数组,linkedlist的底层是链表
4.arraylist查找方便,删除缓慢。linkedlist增删方便,查找缓慢。
二、为什么arraylist查找方便增删慢,linkedlist刚好相反
arraylist底层是数组,数组是一段连续的地址,cpu可以缓存一段地址,所以获取下一个数据时只需要将指针加一即可。
但是数组需要增删时,就需要移动数组,浪费很大时间。
linkedlist底层是链表,链表是一个个结点,当获取下一个数据时,则需要重新获取从内存中查找,所以消耗时间多。
但是链表要进行增删时,只需要将该结点,前后链接起来即可。