ArrayList和Vector的区别
精华
小牛编辑
225浏览
2023-03-14
1 ArrayList和Vector的区别是什么
ArrayList和Vector都实现List接口,且存储元素都是有序的。
但是,ArrayList和Vector类之间还是很多区别的:
ArrayList | Vector |
---|---|
ArrayList是非同步。(线程不安全) | Vector是同步的。(线程安全) |
如果元素数量超出其容量,ArrayList将增加当前数组大小的50%。 | Vector递增100%,表示如果元素总数超过其容量,则数组大小增加一倍。 |
ArrayList 不是遗留类。它在JDK 1.2中引入。 | Vector是一个遗留类。 |
ArrayList执行快速,因为它是非同步的。 | Vector执行相对缓慢是因为它是同步的,即在多线程环境中,它将其他线程保持在可运行或不可运行状态,直到当前线程释放对象的锁为止。 |
ArrayList使用Iterator接口遍历元素。 | Vector可以使用Iterator接口或Enumeration接口遍历元素。 |
2 Java ArrayList的例子
让我们看一个简单的示例,其中我们使用ArrayList来存储和遍历元素。
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java ArrayList的例子
*/
import java.util.*;
class TestArrayList21{
public static void main(String args[]){
List<String> al=new ArrayList<String>();//creating arraylist
al.add("Eric");//adding object in arraylist
al.add("Mark");
al.add("Rose");
al.add("Lucy");
//traversing elements using Iterator
Iterator itr=al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
输出结果为:
Eric
Mark
Rose
Lucy
3 Java Vector的例子
让我们看一个使用Enumeration接口的Java Vector类的简单示例。
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java Vector的例子
*/
import java.util.*;
class TestVector1{
public static void main(String args[]){
Vector<String> v=new Vector<String>();//creating vector
v.add("eric");//method of Collection
v.addElement("mark");//method of Vector
v.addElement("lucy");
//traversing elements using Enumeration
Enumeration e=v.elements();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
}
}
}
输出结果为:
eric
mark
lucy