You should check the JDK API document for these two classes first. The major difference is Vector is not synchronized while ArrayList is synchronized. That is, for more often situation, you should use ArrayList for better performance.
Methods in Vector are synchronised which means they are thread-safe and thus preclude access to the Vector elements by concurrent threads.But this imposes additional overhead on the JVM as it has to acquire and release locks on the vector objects under consideration.
This is not possible in ArrayList since those methods are not synchronised and hence are faster in performance.
Use Vector only if it will be accessed by multiple threads at a time else ArrayList is always better.