File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes ArrayList / Vetor ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "ArrayList / Vetor ?" Watch "ArrayList / Vetor ?" New topic

ArrayList / Vetor ?

Amit Agrawal
Ranch Hand

Joined: Aug 23, 2001
Posts: 282
Wat are the differences between ArrayList and Vector ? and which is better for what purpose ?
jason adam
Chicken Farmer ()
Ranch Hand

Joined: May 08, 2001
Posts: 1932
Besides having more methods to play with, Vectors are synchronized, where as ArrayLists are not. I am more familiar with ArrayList than Vector, so I can't really give any good examples of why you would use one over the other, but I would venture a guess that if you want a synchronized List that multiple threads could modify, you would use a Vector. See the API at .
Someone else could probably give concrete examples,
[This message has been edited by jason adam (edited September 04, 2001).]
Amit Agrawal
Ranch Hand

Joined: Aug 23, 2001
Posts: 282
Thanks jason. but would be glad to know if there are some more differnces which may help in selecting between Vector and ArrayList.
Amit, New Delhi.
Nathan Pruett

Joined: Oct 18, 2000
Posts: 4121

ArrayLists are favoured more now because they are part of the Collections classes and fit in more with the new Java 1.2+ API... Vectors are left over from earlier versions, and should only be used in two cases I can think of:

  • Applets - since browser JVMs use pre-1.2 APIs...
  • Threads - if you need a synchronized ArrayList and are too lazy to make your own...

  • -Nate

Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Michael Fitzmaurice
Ranch Hand

Joined: Aug 22, 2001
Posts: 168
In addition to the above, it is worth mentioning that in cases where a synchronized collection is NOT required, you should ALWAYS prefer an ArrayList to a Vector, since ArrayList provides quicker access due to the lack of overhead w/regard to obtaining locks before executing each method.
In a simple example in Peter Haggar's "Practical Java" book, the ArrayList code is 4 times faster than the equivalent code using Vector.

"One good thing about music - when it hits, you feel no pain"
Bob Marley

"One good thing about music - when it hits, you feel no pain" <P>Bob Marley
I agree. Here's the link:
subject: ArrayList / Vetor ?
It's not a secret anymore!