• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

ArrayList / Vetor ?

 
Amit Agrawal
Ranch Hand
Posts: 282
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Wat are the differences between ArrayList and Vector ? and which is better for what purpose ?
 
jason adam
Chicken Farmer ()
Ranch Hand
Posts: 1932
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 http://java.sun.com/products/jdk/1.2/docs/api/index.html .
Someone else could probably give concrete examples,
Jason
[This message has been edited by jason adam (edited September 04, 2001).]
 
Amit Agrawal
Ranch Hand
Posts: 282
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks jason. but would be glad to know if there are some more differnces which may help in selecting between Vector and ArrayList.
Regards,
Amit, New Delhi.
 
Nathan Pruett
Bartender
Posts: 4121
IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Michael Fitzmaurice
Ranch Hand
Posts: 168
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic