ArrayList 和 LinkedList 的区别

简介: ArrayList 和 LinkedList 的区别
  1. 数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实 现。
  2. 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是线性的数 据存储方式,所以需要移动指针从前往后依次查找。
  3. 增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为 ArrayList 增删操作要影响数组内的其他数据的下标。
  4. 内存空间占用:LinkedList 比 ArrayList 更占内存,因为 LinkedList 的节点除了存储数据,还存储 了两个引用,一个指向前一个元素,一个指向后一个元素。
  5. 线程安全:ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;
相关文章
|
7月前
|
存储 安全 Java
ArrayList vs. LinkedList: Java集合框架的比较与应用
ArrayList vs. LinkedList: Java集合框架的比较与应用
|
1月前
|
索引
ArrayList和LinkedList的区别
ArratList的底层使用动态数组,默认容量为10,当元素数量到达容量时,生成一个新的数组,大小为前一次的1.5倍,然后将原来的数组copy过来; 因为数组有索引,所以ArrayList查找数据更快,但是添加数据效率更低 LinkedList的底层使用链表,在内存中是离散的,没有扩容机制;LinkedList在查找数据时需要从头遍历,所以查找慢,但是添加数据效率更高
|
存储 Java 索引
每日一道面试题之ArrayList 和 LinkedList 的区别是什么?
每日一道面试题之ArrayList 和 LinkedList 的区别是什么?
|
安全
ArrayList 和 LinkedList 的区别【重要】
ArrayList 和 LinkedList 的区别【重要】
76 0
|
7月前
面试题之:ArrayList和LinkedList有哪些区别
面试题之:ArrayList和LinkedList有哪些区别
|
7月前
|
存储 Java 索引
Java集合框架:ArrayList和LinkedList的区别是什么?
Java集合框架:ArrayList和LinkedList的区别是什么?
68 0
|
存储 容器
集合框架之ArrayList和LinkedList的区别
集合框架之ArrayList和LinkedList的区别
75 0
|
存储 设计模式 算法
ArrayList和LinkedList
介绍ArrayList和LinkedList
ArrayList与LinkedList获取指定元素对比(源码分析)
ArrayList与LinkedList获取指定元素对比(源码分析)
78 0
|
存储 算法
ArrayList与LinkedList的比较
在做ArrayList与LinkedList的比较之前,必须先对这两个数据结构有一定的学习和掌握,之前2篇文章分别讲了ArrayList与LinkedList的介绍和源码讲解
141 0
ArrayList与LinkedList的比较