ArrayList、Vector、LinkedList的异同点

标签: Java容器 List实现类
47人阅读 评论(0) 收藏 举报
分类:

ArrayList、Vector和LinkedList类

相同点:

  1. 都在java.util包中;
  2. 都是可伸缩数组,即可以动态改变长度的数组;
  3. 都是List接口的实现类,(List中)元素存放有序,可重复;

不同点:

  1. ArrayList和Vector底层是使用数组实现的;LinkedList底层使用双向循环链表数据结构实现;
  2. ArrayList和Vector索引数据速度快,增删元素速度慢;LinkedList增删元素速度快,索引速度慢;
  3. Vector是线程安全的,ArrayList和LinkedList线程不安全;
  4. ArrayList和Vector都有一个初始化的容量大小,默认为10,存储元素个数超过初始容量时,ArrayList默认扩充为原来的1.5倍+1,Vector默认扩充为原来的2倍;LinkedList更节省空间。

ArrayList类的声明

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
……
}

Vector类的声明

public class Vector<E>
    extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
……
}

LinkedList类的声明

public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>, Cloneable, java.io.Serializable
{
……
}

使用场合

  1. 当数据的主要操作为索引或只在集合的末端增加、删除元素,使用ArrayList或Vector效率比较高;
  2. 当对数据的操作主要以指定位置的插入或删除操作,使用LinkedList效率比较高;
  3. 当在多线程中使用容器时,选用Vector较为安全。

查看评论

Java进阶(四十六)简述ArrayList、Vector与LinkedList的异同点

简述ArrayList、Vector与LinkedList的异同点  Collection类的继承图如下:   从图中可以看出,LinkedList与ArrayList、ArrayDeque这三者都...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2016-10-08 20:27:20
  • 44271

讲下arraylist与linkedlist的异同点

(1)ArrayList与LinkedList都是List接口的实现类,因此都实现了List的所有未实现的方法,只是实现的方式有所不同,,而List接口继承了Collection接口,Collecti...
  • he673038571
  • he673038571
  • 2018-01-15 15:35:43
  • 29

Vector,ArrayList,LinkedList的异同

一.概况 三者都来自于List,其中vector,ArrayList底层实现是数组,而LinkedList的底层实现是单链表。 三者有如下特点: 1.Vector,ArrayList查找快,增删...
  • gongxiaoou
  • gongxiaoou
  • 2017-02-08 16:35:52
  • 248

ArrayList和Vector的异同

这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,...
  • wickedvalley
  • wickedvalley
  • 2016-06-04 15:44:38
  • 225

java基础之ArrayList和Vector的主要区别;

List接口下一共实现了三个类:ArrayList,Vector,LinkedList。 LinkedList主要保持数据的插入顺序的时候使用,采用链表结构。ArrayList,Vector主要区别...
  • ldxlz224
  • ldxlz224
  • 2016-09-18 15:19:05
  • 6734

Java 中Vector、ArrayList和LinkedList 的区别

Java 中Vector、ArrayList和LinkedList 的区别Java 中Vector、ArrayList和LinkedList 的区别 SDK提供了有序集合接口java.util.Lis...
  • daryl715
  • daryl715
  • 2007-02-25 09:49:00
  • 5983

Vector,ArrayList,LinkedList的特点和区别

1.Vector简介及特点 1、Vector是内部是以动态数组的形式来存储数据的。 2、Vector具有数组所具有的特性、通过索引支持随机访问、所以通过随机访问Vector中的元素效率非常高、但是执...
  • m0_38110132
  • m0_38110132
  • 2017-07-11 15:37:00
  • 935

ArrayList、LinkedList和Vector的异同点

一、相同点 首先我们要知道,不管是ArrayList,LinkedList还是Vestor他们都是java.util.List接口的实现类。换而言之他们三个就是具有List特征的集合,List集合的...
  • Mr_PH
  • Mr_PH
  • 2017-09-20 19:23:37
  • 128

Vector,ArrayList,LinkedList的区别与适用场景

ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。...
  • bestxiaok
  • bestxiaok
  • 2017-08-31 08:52:14
  • 1272

ArrayList,LinkedList,Vector,Stack之间的区别

从多个方面讨论它们之间的区别: 1,线程安全性 2,实现方式 3,容量扩展方面 4,效率方面...
  • a19881029
  • a19881029
  • 2015-05-06 17:47:50
  • 6896
    个人资料
    等级:
    访问量: 1306
    积分: 233
    排名: 31万+
    文章存档