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--]