要回答这个问题不能一概而论,有时候使用Vector比较好;有时是ArrayList,有时候这两个都不是 最好的选择。你别指望能够获得一个简单肯定答案,因为这要看你用它们干什么。下面有4个要考虑 的因素: l API l 同步处理 l 数据增长性 l 使用模式 下面针对这4个方面进行一一探讨 API 在
原创
2013-01-17 09:12:00
288阅读
今天研究了一下Vector和ArrayList的源码,又加深了对这两个类的理解。List接口下一共实现了三个类:ArrayList,Vector,LinkedList。LinkedList就不多说了,它一般主要用在保持数据的插入顺序的时候。ArrayList和Vector都是用数组实现的,主要有这么三个区别:1、Vector是多线程安全的,而ArrayList不是,这个可以从源码中看出,Vector类中的方法很多有synchronized进行修饰,这样就导致了Vector在效率上无法与ArrayList相比;2、两个都是采用的线性连续空间存储元素,但是当空间不足的时候,两个类的增加方式是不同的
转载
2013-08-18 21:57:00
59阅读
2评论
http://www.cnblogs.com/muzongyan/articles/1782788.html 同步性Vector是同步的。这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步 的,因此ArrayList中的对象并不是线程安全的。因为同步的要求会影响执行的效率,所以如果你不 需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由
转载
精选
2013-10-10 01:54:33
523阅读
...
转载
2021-08-29 22:36:00
135阅读
2评论
今天在学习观察者模式时,查看了下Observable类,发现它里面的实现使用的是Vector,这个类不太熟悉,平时都没有使用过,查看这个类的源码,Vector的底层也是使用数组实现的,而且继承了AbstractList,实现了List接口,看着Vector和ArrayList很像:底层都是用数组实现
转载
2016-03-31 18:02:00
52阅读
2评论
翻译人员: 铁锚 翻译时间: 2013年12月2日 原文链接: ArrayList vs. LinkedList vs. Vector 1. List概述 List,就如图名字所示一样,是元素的有序列表。当我们讨论List时,将其与Set作对比是一个很好的办法,Set集合中的元素是无序且唯一的...
转载
2013-12-02 18:11:00
49阅读
2评论
LinkedList的add和remove性能比ArrayList高,你确定?
翻译
2022-02-22 11:41:19
140阅读
这张图里的内容对我们学习Java来说,非常的重要,白色的部分是需要去了解的,黄色部分是我们要去重点了解的,不但要知道怎么去用,至少还需要读一次源码。绿色部分内容已经很少用了,但在面试题中有可能会问到,我们来看一个经常出现的面试题:Arraylist与Vector的区别是什么?首先我们给出标准答案: 1、Vector是线程安全的,ArrayList不是线程安全的。 2、ArrayList在底层数组
原创
2021-07-08 16:32:30
193阅读
这张图里的内容对我们学习Java来说,非常的重要,白色的部分是需要去了解的,黄色部分是我们要去重点了解的,不但要知道怎么去用,至少还需要读一次源码。绿色部分内容已经很少用了,但在面试题中有可能会问到,我们来看一个经常出现的面试题:Arraylist与Vector的区别是什么?首先我们给出标准答案: 1、Vector是线程安全的,ArrayList不是线程安全的。 2、ArrayList在底层数组
原创
2022-03-14 13:45:40
123阅读
Java中Vector和ArrayList的区别
关于ArrayList和Vector区别如下:
1. ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
2. Vector提供indexOf(obj, start)接口,ArrayList没有。
3. Vector属于线程安全级别的,但是大多数情况下不使用V
转载
2023-07-17 20:30:40
29阅读
区别与联系:1.相同点: 1.ArrayList出现于jdk1.2,vector出现于1.0.两者底层的数据存储都使用的Object数组实现,因为是数组实现,所以具有查找快(因为数组的每个元素的首地址是可以得到的,数组是0序的,所以: 被访问元素的首地址=首地址+元素类型字节数*下标 ),增删慢(因为往数组中间增删元素时,会导致后面所有元素地址的改变)的特点2.继承的类实现的接口都是一样的,都继承
转载
2023-08-20 10:26:36
62阅读
ArrayList和Vector ArrayList ArrayList的注意实现 **1.**ArrayList可以加入null,并且多个 **2.**ArrayList是由数组来实现数据存储的 **3.**ArrayList基本等同于Vector,除了ArrayList是线程不安全(执行效率高) ...
转载
2021-10-21 20:35:00
96阅读
2评论
LinkedList类:LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部.ArrayList类: ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步.Vector类: Vector非常类似ArrayList,但是Vector是同步的。由V
转载
2023-08-11 22:12:49
64阅读
这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中
翻译
2010-11-21 21:41:47
331阅读
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下: 如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组
转载
2019-07-09 16:55:00
71阅读
2评论
这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的——这是由List集合规范制订的。 而且ArrayList与Vector底
转载
2020-12-07 15:29:00
83阅读
2评论
通过在eclipse中查看源代码可以得知:ArrayList类的声明: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializabl
转载
2018-12-29 08:42:00
74阅读
2评论
1.联系:底层都是数组的扩容2.区别:ArrayList底层扩容长度为原数组的1.5 ; Vector底层扩容长度为原数组的2倍3.ArrayList倍线程不安全,效率高 ; Vector线程安全,效率低(淘汰)4.都是数组,数组优点:查询效率高 ; 数组缺点:删除,增加元素效率低 ; 特点:数组可重复
原创
2023-03-17 17:16:06
164阅读
1.联系:底层都是数组的扩容2.区别:ArrayList底层扩容长度为原数组的1.5 ; Vector底层扩容长度为原数组的2倍3.ArrayList倍线程不安全,效率高 ; Vector线程安全,效率低(淘汰)4.都是数组,数组优点:查询效率高 ; 数组缺点:删除,增加元素效率低 ; 特点:数组可重复
原创
2023-03-17 17:15:33
149阅读
ArrayList和Vector是采用数组方式存储数据,此数组元素总数大于实际存储的数据个数以便增加和插入元素,二者都允许直接序号索引元素,但是插入数据要移动数组元素等内存操作,所以它们索引数据快、插入数据慢。ArrayList数组存储方式:private transient Object[] elementData;
public ArrayList(in
转载
精选
2015-12-24 14:47:13
581阅读