The synchronization in Vector is usually pretty useless, even in multi-threaded applications - it's rarely the little Vector methods that need to be synchronized (i.e. atomic with respect to other threads). That is why Sun made
the Collections framework unsynchronized. On the rare occasion that you do need a synchronized collection, you can use Collections.synchronizedList(), and so on.
In general, Vector, Hashtable and Enumeration are legacy classes and should be avoided for any new software. They aren't part of
the Collections framework, and just represent inferior duplications of the functionality in ArrayList, HashMap and Iterator. The retrofit with Collections interfaces has made their API has bloated and ambiguous. The fact that they are synchronized is a liability, not an asset.
- Peter