之前面试一直有遇到的一个问题,就是ArrayList和LinkedList的区别。
ArrayList和LinkedList区别
- ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构;
- 对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针;
- 对于添加和删除操作add和remove,一般大家都会说LinkedList要比ArrayList快,因为ArrayList要移动数据。但是实际情况并非这样,对于添加或删除,LinkedList和ArrayList并不能明确说明谁快谁慢。
那到底是用ArrayList还是用LinkedList呢?
总而言之,在实践中,在集合后面或中间添加元素,或者需要随机地访问其中的元素时,
使用ArrayList会提供比较好的性能;
当你的操作是在集合的前面或中间添加或删除数据,并不是按照顺序访问其中的元素,就
应该使用LinkedList了。