Vectorはスレッドセーフでしょ。
ただしVectorというコンテナがスレッドセーフだというだけ。

通常はArrayListを使う。
毎回synchronizedされたらコストが高すぎる。

Jakartaはまた違った実装をしていて面白いけど。