一、ArrayList

通过源码知道,ArrayList  其实就是一个老外帮我们写的蛮牛逼的一个 Object[] 的操作。

插入/删除一个元素就是:

1、重新确定数组长度

2、重新产生一个数组(数组长度是不可变的,因此通过copy的方式)

因此ArrayList 通过索引等,取或者改内容比较快。插入和删除比较慢。

二、LinkedList

【java基础速学】ArrayList、LinkedList

LinkedList 就是数据结构中的链表,访问比较慢,但是抽插比较快。

三、总结

1、需要快速抽插的用 LinkedList ,譬如我们从数据库得到数据后,要反复对它进行数据插入删除操作。

2、需要快速访问元素/遍历 ,用ArrayList。譬如我们从数据库得到数据后 ,需要获取数据传递给别的方法,这种时候一般不用LinkedList。

相关文章: