On 06/09/2008 01:43, Knute Johnson allegedly wrote:
Daniele Futtorovic wrote:
On 05/09/2008 16:23, laredotornado allegedly wrote:
Hi,
I'm using Java 1.5. I have a Vector of objects,
*BZZT*. The only possible reason you could justifiably use a
java.util.Vector would be if you coded with a JSE version prior to 1.2.
The only significant difference between Vector and ArrayList is the
fact that Vector is synchronized. If you need simple synchronization
on your ArrayList there is no difference. The difference certainly
doesn't justify the bandwidth utilized to admonish those Vector users.
Maybe that admonition reflects exasperation over how long that Vector
stuff sticks among new Java programmers, seeing as it is an as good as
deprecated API bit. Many (global rather than local) mistakes, or cases
of design less good than it might be, arise from its usage. The
Collections Framework is a whole into which Vector doesn't fit seamlessly.
I understand your reaction though. I didn't mean to bash. My own, and
possibly others', assertive tone on this might be due to a shunning away
from getting into actual arguments over it.
Arne and Daniele are right. Vector contains non-Collection methods that have
no business in the code, and it's completely unnecessary. Why not use
book on it. There's just no justification to use Vector over other Lists when
given a choice.