ArrayList与Vector之间的差异
ArrayList和Vector都实现了List接口并保持插入顺序。
但是,ArrayList和Vector类之间有很多区别如下。
ArrayList |
Vector |
1)ArrayList 未同步。 |
Vector已同步。 |
2)如果元素数量超出其容量,则ArrayList 增加当前阵列大小的50%。 |
Vector递增100%表示如果元素总数超过其容量,则数组大小增加一倍。 |
3)ArrayList不是旧版类。它是在JDK 1.2中引入的。 |
Vector是旧版类。 |
4)ArrayList是 fast ,因为它是不同步的。 |
Vector慢,因为它是同步的,即在多线程环境中,它将其他线程保持在可运行或不可运行状态,直到当前线程释放对象的锁为止。 |
5)ArrayList使用 Iterator 接口遍历元素。 |
Vector可以使用 Iterator 接口或 Enumeration 接口遍历元素。 |
Java ArrayList的示例
让我们看一个简单的示例,其中我们使用ArrayList来存储和遍历元素。
import java.util.*;
class TestArrayList21{
public static void main(String args[]){
List<String> al=new ArrayList<String>();
al.add("Sonoo");
al.add("Michael");
al.add("James");
al.add("Andy");
Iterator itr=al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
输出:
Java Vector的示例
让我们看一个使用Enumeration接口的Java Vector类的简单示例。
import java.util.*;
class TestVector1{
public static void main(String args[]){
Vector<String>v=new Vector<String>();
v.add("umesh");
v.addElement("irfan");
v.addElement("kumar");
Enumeration e=v.elements();
while(e.hasMoreElements()){
System.out.println(e.nextElement());
}
}
}
输出: