ArrayList和Vector之间的区别

ArrayList和Vector都实现了List接口并保持插入顺序。

然而,ArrayList和Vector之间有许多不同之处,如下所示:

ArrayListVector
1) ArrayList不是同步的。Vector是同步的。
2) 如果元素数量超过其容量,ArrayList会将当前数组大小增加50%。如果元素的总数超过其容量,Vector会将数组大小增加100%,即使是两倍的增长。
3) ArrayList不是一个遗留类。它在JDK 1.2中引入。Vector是一个遗留类。
4) ArrayList是快速的,因为它是非同步的。Vector是较慢的,因为它是同步的。在多线程环境中,它会将其他线程保持在可运行或不可运行状态,直到当前线程释放对象的锁。
5) ArrayList使用Iterator接口来遍历元素。Vector可以使用Iterator接口或Enumeration接口来遍历元素。

Java ArrayList示例

让我们看一个简单的示例,其中我们使用ArrayList来存储和遍历元素。

import java.util.*;

class TestArrayList {
  public static void main(String args[]) {
    List<String> al = new ArrayList<String>(); // 创建ArrayList
    al.add("Sonoo"); // 向ArrayList添加对象
    al.add("Michael");
    al.add("James");
    al.add("Andy");
    // 使用Iterator遍历元素
    Iterator<String> itr = al.iterator();
    while (itr.hasNext()) {
      System.out.println(itr.next());
    }
  }
}

输出:

Sonoo
Michael
James
Andy

Java Vector示例

让我们看一个简单的Java Vector类示例,其中使用了Enumeration接口。

import java.util.*;

class TestVector {
  public static void main(String args[]) {
    Vector<String> v = new Vector<String>(); // 创建Vector
    v.add("umesh"); // 使用Collection方法添加元素
    v.addElement("irfan"); // 使用Vector方法添加元素
    v.addElement("kumar");
    // 使用Enumeration遍历元素
    Enumeration<String> e = v.elements();
    while (e.hasMoreElements()) {
      System.out.println(e.nextElement());
    }
  }
}

输出:

umesh
irfan
kumar

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想