よくJavaの解説には、VectorとArrayListの違いはスレッドセーフであるかないかだということが書かれている。そのような解説を読むと、スレッドセーフな可変長配列がほしい場合にはVectorを使えば良いと思ってしまいそうだが、私は同期を目的としてもVectorは使うべきではないと思う。 Collections.synchronizedListメソッドによる同期 Vectorは単にArrayListのスレッドセーフ版ではなく、Java1.0のときに導入されたレガシークラスだ。Java1.2でCollections Frameworkが導入され、Vectorに代えてList(ArrayListやLinkedList)を用いることが推奨されるようになった。スレッドセーフなListを実現したいときには、VectorではなくCollections.synchronizedListメソッドを用