ArrayList和LinkedList比较以及和Vector区别

简介: ArrayList和LinkedList比较以及和Vector区别

ArrayList

它在集合的末尾删除或添加元素所用的时间是一致的,但是在列表中间的部分添加或删除时所用时间就会大大增加。但是它在根据索引查找元素的时候速度很快。

LinkedList

它在插入、删除集合中任何位置的元素所花费的时间都是一样的,但是它根据索引查询一个元素的时候却比较慢。

Vector

基于数组,大小可变(数组扩容)。

ArrayList和LinkedList比较

底层结构 增删的效率 改查的效率
ArrayList 可变数组 较低,数组扩容 较高
LinkedList 双向链表 较高,通过链表追加 较低

ArraryList和Vector区别

底层结构 版本 线程同步效率 扩容倍数
ArraryList 可变数组 jdk1.2 不安全,效率高 如果使用有参构造器1.5倍;如果是无参构造器:1.第一次扩容10,第二次开始按照1.5倍
Vector 可变数组Object[] jdk1.0 安全,效率低 如果是无参,默认是10,按两倍扩容
相关文章
|
存储 Java
Java中 List集合接口及其主要的实现类ArrayList,Vector,LinkedList的详解
Java中 List集合接口及其主要的实现类ArrayList,Vector,LinkedList的详解
70 0
|
存储 安全 Java
Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector
Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector
120 0
Java集合(4)--List接口及其实现类ArrayList、LinkedList和Vector
|
存储 安全 算法
【JAVA】对比 Vector、ArrayList、LinkedList 有何区别?
我们在日常的工作中,能够高效地管理和操作数据是非常重要的。那么你知道,对比 Vector、ArrayList、LinkedList 有何区别?
161 0
|
安全 Java
【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
110 0
【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
|
存储 Java 容器
Java中ArrayList,LinkedList,Vector三者的异同点及其使用场景和ArrayList的一些常用方法
相同点:三者存储的都是有序,可重复的数据。 异:①:ArrayList底层存储类型树Object数组,而LinkedList底层是双向链表 ②:ArrayList和Vector调用创建空参构造器创建对象时,默认的size是10,但是当自动扩容的时候,ArrayList扩容为当前容器size的1.5倍,而Vector自动扩容为当前的2倍。 使用场景:①:当查找操作比较多时,使用ArrayList,因为其底层是数组实现,可以根据角标查找,时间复杂度是O(1),而LinkedList底层是双向...
138 0
|
安全 Java 索引
史上最全的Java容器集合之Vector和LinkedList(源码解读)(下)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
141 0
|
存储 安全 Java
史上最全的Java容器集合之Vector和LinkedList(源码解读)(上)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
127 0
|
安全 算法 Java
对比Vector、 ArrayList、 LinkedList有何区别
对比Vector、 ArrayList、 LinkedList有何区别
108 0
对比Vector、 ArrayList、 LinkedList有何区别
|
存储 Java 双11
Java编程之LinkedList+Vector+Stack+Queue
Vector类 1.java.util包 2.是ArrayList集合的早期版本 (StringBuffer早期 StringBuilder后来) Vector底层也是利用(动态)数组的形式存储 Vector是线程同步的(synchronized) 安全性高 效率低 3.扩容方式与ArrayList不同 默认是扩容2倍 可以通过构造方法创建对象时修改这一机制 4.构造方法 5.常用方法 Stack类 栈 1.java.util包 2.构造方法只有一个无参数 3.除了继承自Vacton类
151 0
|
安全
比较ArrayList、LinkedList、Vector
比较ArrayList、LinkedList、Vector
114 0
比较ArrayList、LinkedList、Vector