java.util.ArrayList and java.util.Vector both implements List interface and maintains insertion order. It’s having many differences as below:
ArrayList vs Vector
ArrayList | Vector |
ArrayList is not synchronized. | Vector is synchronized. |
ArrayList increases 50% of the current array size if the number of elements exceeds its capacity. | Vector increase 100% means doubles the array size when the total number of elements exceeds its capacity. |
ArrayList is not a legacy class. It is introduced in JDK 1.2. | Vector is a legacy class. |
ArrayList is fast because it is non-synchronized. | Vector is slow because it is synchronized, i.e., in a multithreading environment, it holds the other threads in the runnable or non-runnable state until the current thread releases the lock of the object. |
ArrayList uses the Iterator interface to traverse the elements. | A Vector can use the Iterator interface or Enumeration interface to traverse the elements. |
See Also:ArrayList Class | See Also:Java: Vector Class |
ArrayList Example: traversing by the iterator
import java.util.*; class ArrayListExample{ public static void main(String args[]){ //creating arraylist of String List al=new ArrayList(); //adding objecta in arraylist al.add("Saurabh"); al.add("Mahesh"); al.add("Jonny"); al.add("Anil"); //traverse elements using Iterator Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
Output
Saurabh
Mahesh
Jonny
Anil
Vector Example: Traversing by Enumerator
import java.util.*; class VectorExample{ public static void main(String args[]){ Vector v=new Vector();//creating vector v.add("Umrao");//method of Collection v.addElement("Isha");//method of Vector v.addElement("Kush"); //traverse elements using Enumeration Enumeration e=v.elements(); while(e.hasMoreElements()){ System.out.println(e.nextElement()); } } }
Output
Umrao
Isha
Kush
You must log in to post a comment.