ArrayList and Vector both implements List interface and maintains insertion order.
But there are many differences between ArrayList and Vector classes that are given below.
|ArrayList is not synchronized.||Vector is synchronized.|
|ArrayList increments 50% of current array size if number of element exceeds from its capacity.||Vector increments 100% means doubles the array size if total number of element exceeds than 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 multithreading environment, it will hold the other threads in runnable or non-runnable state until current thread releases the lock of object.|
|ArrayList uses Iterator interface to traverse the elements.||Vector uses Enumeration interface to traverse the elements. But it can use Iterator also.|