java中ArrayList与LinkedList有什么区别

内容摘要
区别如下:ArrayList和LinkedList都实现了List接口。但是在数据结构的实现上ArrayList是数组,LinkedList是双向链表,所以LinkedList比ArrayList会更耗内存,因为它一个节点要存两
文章正文

区别如下:

ArrayList和LinkedList都实现了List接口。但是在数据结构的实现上ArrayList是数组,LinkedList是双向链表,所以LinkedList比ArrayList会更耗内存,因为它一个节点要存两个引用,一个指向上一个元素,一个指向下一个元素。而数组查找元素的时间复杂度是O(1),链表查找元素的时间复杂度是O(n),所以查询多的情况下,ArrayList比LinkedList更适合。

(免费学习视频教程分享:java视频教程)

那么如果是增删操作呢?

只要不是首尾的增加或删除操作,那么LinkedList的效率就是比ArrayList高,因为ArrayList进行增删操作后,数组内就会有一些数据会受到影响,需要更换下标,影响的数据范围越广,效率越低。

相关文章教程推荐:java入门教程

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!