ArrayList vs Vector : Collection Interview question
Tutorials Shared by the Internet Community
Total Hits - 31620
Total Votes - 100 votes
Vote Up - 44 votes
Vote Down - 56 votes
Domain - javahungry.blogspot.com
Category - JAVA/Collections
Submitted By - Java Hungry
Submitted on - 2013-12-09 05:30:15
Difference between ArrayList and Vector is the most common Core Java Interview question you will come across in Collection . This question is mostly used as a start up question by the Interviewers before testing deep roots of the Collection .Vector , ArrayList classes are implemented using dynamically resizable array providing fast random access and fast list traversal very much like using an ordinary array . ArrayList support dynamic arrays that can grow as needed that is ArrayList can be dynamically increased or decreased in size .
Arraylist vs Vector in Java
1. Synchronization and Thread-Safe
Vector is synchronized while ArrayList is not synchronized . Synchronization and thread safe means at a time only one thread can access the code .In Vector class all the methods are synchronized .Thats why the Vector object is already synchronized when it is created .
Vector is slow as it is thread safe . In comparison ArrayList is fast as it is non synchronized . Thus in ArrayList two or more threads can access the code at the same time , while Vector is limited to one thread at a time.
3. Automatic Increase in Capacity
A Vector defaults to doubling size of its array . While when you insert an element into the ArrayList , it increases its Array size by 50% . More detail...