ArrayList vs Vector
ArrayList vs Vector in Java
ArrayList and Vector is two most widely used Collection
class in Java and used to store object in ordered fashion. Every Java programmer which is introduced to Java Collection Framework either started with Vector or ArrayList. For beginners Difference
between Vector and ArrayList in Java and LinkedList vs ArrayList are two most popular Java Interview question. ArrayList vs Vector is not only important on interview
perspective but also on effective use of Java
Collection API. After reading
this article you will know when
to use Vector in Java, When to use ArrayList in Java and would be able to compare ArrayList vs Vector over several important parameters e.g.
Speed, Synchronization,
Code quality etc. Before seeingdifference on Vector vs ArrayList, let's What is common between the.
Common property of Vector and ArrayList in Java
1) Bother Vector and ArrayList are derived from AbstractList and implements List interface,
which means both of them are ordered
collection and allows duplicates.
2) Another similarity between Vector vs ArrayList is that both are index based
Collection and you can use get(index)method
to retrieve objects from Vector and ArrayList.
ArrayList and Vector is two most widely used Collection class in Java and used to store object in ordered fashion. Every Java programmer which is introduced to Java Collection Framework either started with Vector or ArrayList. For beginners Difference between Vector and ArrayList in Java and LinkedList vs ArrayList are two most popular Java Interview question. ArrayList vs Vector is not only important on interview perspective but also on effective use of Java Collection API. After reading this article you will know when to use Vector in Java, When to use ArrayList in Java and would be able to compare ArrayList vs Vector over several important parameters e.g. Speed, Synchronization, Code quality etc. Before seeingdifference on Vector vs ArrayList, let's What is common between the.
Common property of Vector and ArrayList in Java
1) Bother Vector and ArrayList are derived from AbstractList and implements List interface, which means both of them are ordered collection and allows duplicates.
2) Another similarity between Vector vs ArrayList is that both are index based Collection and you can use get(index)method to retrieve objects from Vector and ArrayList.
Vector vs ArrayList in Java
In last section we saw some common properties between both of
them and its time to see How muchArrayList and Vector are different to each other.
1) First and most common difference
between Vector vs ArrayList is that Vector is synchronized and thread-safewhile ArrayList is neither Synchronized nor
thread-safe. Now, What does that mean? It means if multiple thread try to
access Vector same time they can do that without
compromising Vector's internal state. Same is not true in case ofArrayList as methods like add(), remove() or get() is not synchronized.
2) Second major difference on Vector vs ArrayList is Speed, which is directly related to
previous difference. SinceVector is
synchronized, its slow and ArrayList is not synchronized its faster than Vector.
3) Third difference on Vector vs ArrayList is that Vector is a legacy class and initially it was
not part of Java Collection Framework. From Java 1.4 Vector was retrofitted to implement List
interface and become part of Collection Framework.
These were some comparison on Vector vs ArrayList.
In Summary use ArrayList if you are using ArrayList in Single threaded
environment and use Vector if you need a thread-safe collection.
ArrayList is anytime faster than Vector in case thread-safety is not a
concern.
1) First and most common difference between Vector vs ArrayList is that Vector is synchronized and thread-safewhile ArrayList is neither Synchronized nor thread-safe. Now, What does that mean? It means if multiple thread try to access Vector same time they can do that without compromising Vector's internal state. Same is not true in case ofArrayList as methods like add(), remove() or get() is not synchronized.
2) Second major difference on Vector vs ArrayList is Speed, which is directly related to previous difference. SinceVector is synchronized, its slow and ArrayList is not synchronized its faster than Vector.
3) Third difference on Vector vs ArrayList is that Vector is a legacy class and initially it was not part of Java Collection Framework. From Java 1.4 Vector was retrofitted to implement List interface and become part of Collection Framework.
These were some comparison on Vector vs ArrayList. In Summary use ArrayList if you are using ArrayList in Single threaded environment and use Vector if you need a thread-safe collection. ArrayList is anytime faster than Vector in case thread-safety is not a concern.