Vector和ArrayList的一点区别

原创 2007年10月05日 09:25:00

Vector提供同步机制。ArrayList没有。

Vector在增加一个元素的时候用定长的方法增加。  
而ArrayList则是以你增加元素的大小来增加。  
   
  正式这样的原理所以有
  Vector线性安全,ArrayList线性不安全。  
  Vector有同步机制,ArrayList没有同步机制。   
   

Vector   是用在java   1.0/1.1   中的旧容器。其迭代器取名为:Enumeration   (为一Interface   ,比Iterator   小,只有两个函数)常用的方法如:Enumeration   e   =   vector.elements()   ;  
   
  而ArrayList   为java2中的新容器,极具弹性,可在任意时间选择任一对象;其对应的迭代器为:Iterator   .     Iterator     it   =   arraylist.iterator()   ;  
   
  虽然在java2中,Vector已经过调整,符合Collection和List规格,但总体上还是建议采用新的容器,性能上也自然是ArrayList更优。

Vector:  
  当更多的元素被加入进来以至超出其容量时,Vector的size会动态增长。  
  同时,Vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了。  
  Vector内部实际是以Array实现的,也通过元素的整数索引来访问元素,但它只能存放java.lang.Object对象,不能用于存放基本类型数据,比如要存放一个整数10,得用new   Integer(10)构造出一个Integer包装类对象再放进去。当Vector中的元素个数发生变化时,   其内部的Array必须重新分配并进行拷贝,因此这是一点值得考虑的效率问题。  
  Vetor同时也实现了List接口,所以也可以算作Colletion了,只是它还特殊在:Vector   is   synchronized。即Vetor对象自身实现了同步机制。  
  ArrayList:实现了List接口,功能与Vetor一样,只是没有同步机制,当然元素的访问方式为从List中继承而来,可存放任何类型的对象。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Array / ArrayList / Vector / LinkedList / Hashmap区别

ArrayList 实现List接口 ,随着向 ArrayList 中不断添加元素,其容量也自动增长 Vector向量 不过我是不太喜欢这个类 HashMap实现Map接口--可以说内存就是一个Has...

Java中Vector和ArrayList的区别

Java中Vector和ArrayList的区别       首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。L...

Java中Vector和ArrayList的区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体...

Hashtable HashMap Vector ArrayList List 区别

Hashtable和HashMap的区别:1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;2.Hashtable中的方法是同步的,而HashMap中的方法在...
  • lclai
  • lclai
  • 2011-02-19 16:50
  • 804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)