ArrayList与Vector区别

                                            

ArrayList与Vector区别表
ArrayList Vector
1、实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1、实现原理:采用动态数组对象实现,默认构造方法创建了一个大小为10的对象数组
2、第一次添加元素,扩展容量为10,之后的扩充算法:原来数组大小+原来数组的一半 2、扩充的算法:当增量为0时,扩充为原来大小的2倍,当增量大于0时,扩充为原来大小+增量
3、不适合进行删除或插入操作 3、不适合进行删除或插入操作
4、为了防止数组动态扩充次数过多,建议创建ArrayList时,给定初始容量。 4、为了防止数组动态扩充次数过多,建议创建Vector时,给定初始容量
5、多线程中使用不安全,适合在单线程访问时使用,效率较高。 5、线程安全,适合在多线程访问时使用,效率较低

原文地址:https://www.cnblogs.com/miaosj/p/11082105.html

时间: 2024-07-29 07:38:40

ArrayList与Vector区别的相关文章

关于ArrayList和Vector区别

Java中Vector与ArrayList的区别详解 作者: 字体:[增加 减小] 类型:转载 本篇文章是对Java中Vector与ArrayList的区别进行了详细的分析介绍,需要的朋友参考下 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体实现类的相关区别如下:1.ArrayList 是最常用的List实现类,内部是通过数组实现的,它允许对元

ArrayList 与 Vector 区别

同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,就是不同步的 数据增长:当需要增长时,Vector默认增长为原来的一倍,而ArrayList是原来的50%,这样ArrayList就能节省内存空间 说明:如果涉及到堆栈,队列等操作应该考虑vectory,如果需要快速访问元素的话就应该使用ArrayList 原文地址:https://www.cnblogs.com/liushengqin/p/9833842.html

HashMap、HashTable、ArrayList、LinkedList、Vector区别

HashTable和HashMap区别 ①继承不同. public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map ② Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的.在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了. ③ Hashtable

ArrayList和Vector的区别

这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与hashset没有任何关系,但为了说清楚ArrayList与Vector的功能,我们使用对比方式,更有利于说明问题). 接着才说Arra

ArrayList和Vector的区别?HashMap和HashTable的区别?StringBuilder、StringBuffer和String的区别?

ArrayList和Vector的区别?从两个方面 1.同步性:ArrayList是线程不安全的,是非同步的:Vector是线程安全的,是同步的.(Java中线程的同步也就满足了安全性) 2.数值增长:ArrayList每次增长为原来的50%;Vector每次增长为原来的100%; (从内部实现机制来讲,ArrayList和Vector都是使用数组(Array)来控制集合中的对象,当向集合中添加对象时,如果内部数组长度不够用时,长度会自动增长.ArrayList会增长为原来的1.5倍,Vecto

List ArrayList LinkedList vector简介与区别

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: ArrayList:底层用数组实现的List 特点:查询效率高,增删效率低 轻量级 线程不安全 LinkedList:底层用双向循环链表 实现的List 特点:查询效率低,增删效率高 Vector: 底层用数组实现List接口的另一个类 特点:重量级,占据更多的系统开销 线程安全 一.同步性 ArrayList,LinkedList是不同步的,而Vestor

ArrayList、Vector、LinkedList的区别及其优缺点? (转载)

原文链接:http://blog.csdn.net/wangzff/article/details/7296648 ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一.同步性 ArrayList,LinkedList是不同步的,而Vestor是同步的.所以如果不要求线程安全的话,可以使用ArrayList或 LinkedList,可以节省为同步而耗费的开销.但在多线程的情况下,有时候就不得不使用Vecto

集合框架,ArrayList和Vector的区别,让arrayList线程安全的几种方案

boolean add(E e) 将指定的元素添加到此列表的尾部. void add(int index, E element) 将指定的元素插入此列表中的指定位置. boolean addAll(Collection<? extends E> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的 尾部. boolean addAll(int index, Collection<? extends E> c) 从指定

【java】ArrayList、Vector、LinkedList的区别

ArrayList.Vector.LinkedList同属于List接口,都存在于java.util包中,都是可伸缩数组,可以动态改变长度. ★ArrayList和Vector都是基于存储元素Object[] array来实现的,它们会在内存中开辟一段连续的空间来存储,因为数据存储是连续的,所以它们支持用下标的方式来访问数据,而且索引数据的速度会比较快,也正因为存储是连续的,在其中插入新的元素时需要移动数据,所以在插入数据时执行速度会比较慢. 在未定义容量大小时,ArrayList和Vector