>>698
その質問には意味がある。一番簡単な答えは
・Vectorはスレッドセーフではない。
・だから複数スレッドで共有されるVectorに対するひとまとまりの操作はsyncronizedブロックで囲まなければならない。
・それならArrayListを使っても同じ。Vectorを使う意味は無い。

もっと詳しく知りたい場合はここがよくまとまってる。
http://www-6.ibm.com/jp/developerworks/java/040409/j_j-jtp09263.html


個人的に一番重要だと思うのはここの部分
>明確なドキュメントが無いと、読み手はクラスのスレッド・セーフに関して誤った推測をしてしまうかもしれないのです。
>つまり、読み手はスレッド・セーフではないのにスレッド・セーフであると推測するかもしれませんし(これはかなりまずいことです!)