当前位置: 首页 > 编程笔记 >

ArrayList和LinkedList区别及使用场景代码解析

范凡
2023-03-14
本文向大家介绍ArrayList和LinkedList区别及使用场景代码解析,包括了ArrayList和LinkedList区别及使用场景代码解析的使用技巧和注意事项,需要的朋友参考一下

本文研究的主要是Java编程中ArrayList和LinkedList区别及使用场景的相关内容,具体介绍如下。

1、ArrayList是基于数组实现的,其构造函数为:

private transient Object[] elementData; 
private int size; 

ArryList初始化时,elementData数组大小默认为10;
每次add()时,先调用ensureCapacity()保证数组不会溢出,如果此时已满,会扩展为数组length的1.5倍+1,然后用array.copy的方法,将原数组拷贝到新的数组中;
ArrayList线程不安全,Vector方法是同步的,线程安全;

2、LinkedList是基于双链表实现的:

Object element; 
Entry next, 
   previous; 

初始化时,有个header Entry,值为null;

使用header的优点是:在任何一个条目(包括第一个和最后一个)都有一个前置条目和一个后置条目,因此在LinkedList对象的开始或者末尾进行插入操作没有特殊的地方;

使用场景:

(1)如果应用程序对各个索引位置的元素进行大量的存取或删除操作,ArrayList对象要远优于LinkedList对象;

( 2 ) 如果应用程序主要是对列表进行循环,并且循环时候进行插入或者删除操作,LinkedList对象要远优于ArrayList对象。

总结

以上就是本文关于ArrayList和LinkedList区别及使用场景代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 主要内容:1 ArrayList和LinkedList的区别,2 Java ArrayList和LinkedList的例子1 ArrayList和LinkedList的区别 ArrayList和LinkedList都实现List接口并维护插入顺序。两者都是非同步(线程不安全)类。 下面列出了ArrayList和LinkedList类之间的区别。 ArrayList LinkedList ArrayList在内部使用动态数组存储元素。 LinkedList在内部使用双向链表来存储元素。 使用Arr

  • 本文向大家介绍java中ArrayList和LinkedList的区别详解,包括了java中ArrayList和LinkedList的区别详解的使用技巧和注意事项,需要的朋友参考一下 ArrayList和LinkedList都实现了List接口,有以下的不同点: 1、ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList

  • 本文向大家介绍Arraylist 与 LinkedList 区别?相关面试题,主要包含被问及Arraylist 与 LinkedList 区别?时的应答技巧和注意事项,需要的朋友参考一下 数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 Lin

  • 主要内容:1 数组和链表的结构的异同,2 ArrayList和LinkedList的异同,3 栈和队列的模拟,3.1 模拟栈,3.2 模拟队列介绍了数组和链表的区别,ArrayList和LinkedList的区别以及使用LinkedList模拟栈和队列。 1 数组和链表的结构的异同 相同点: 数组和链表都属于线性表,其中数组是属于顺序储存的实现,逻辑存储和物理存储相同而链表则属于链式储存的实现,逻辑存储和物理存储不相同。两种结构均实现数据结构中的逻辑顺序存储。 不同点: 数组: 在内存中是一组连

  • 本文向大家介绍请说明ArrayList和LinkedList的区别?相关面试题,主要包含被问及请说明ArrayList和LinkedList的区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:ArrayList ArrayList和LinkedList都实现了List接口,他们有以下的不同点: ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机

  • 本文向大家介绍浅析 ArrayList 和 LinkedList 有什么区别,包括了浅析 ArrayList 和 LinkedList 有什么区别的使用技巧和注意事项,需要的朋友参考一下 ArrayList 和 LinkedList 有什么区别,是面试官非常喜欢问的一个问题。可能大部分小伙伴和我一样,能回答出“ArrayList 是基于数组实现的,LinkedList 是基于双向链表实现的。” 关