• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Vector、ArrayList、LinkedListについて)

なぜVectorを使う意味がほとんど無いのでしょう?

このQ&Aのポイント
  • JAVA PRESS vol.26によると、Listインターフェースを実装したクラスはArrayList, LinkedList, Vectorの3種類ですが、Java2では通常はArrayListかLinkedListを選択することが推奨されています。
  • Vectorはメソッドが多くて使い勝手は良さそうですが、Java2では同期化されるため処理が遅くなるというデメリットがあります。
  • 一般的にはArrayListやLinkedListの方が効率的でスレッドセーフでない場合にはsynchronizedを使用することで同期化することができます。そのため、Vectorを使用する必要性はほとんどありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> パっと見た限りVectorはメソッドが多くて使い勝手が良さそうな > 便利そうなクラスだと思うし、「同期化」されるというのも > 他の2クラスと違う点ですよね? synchronize については、リファレンスに記述がありますね。   List list = Collections.synchronizedList(new ArrayList(...)); 一行だけなので、別にたいした手間ではない、と。 列挙も enumration だし、わざわざ古い実装を混ぜてまで使う意味がない、ということかな。 メソッドが多く見えるのは、気のせい。基底クラスから継承したメソッドにかかれているか、いないかの違い。

masamisss
質問者

お礼

なるほど。確かに継承したメソッドがいっぱい書かれているんですね。>VECTORクラス しかもsyncronizeは1行で済むし、使う必要がないんですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう