ArrayListとVectorの違いは何ですか? 質問する

ArrayListとVectorの違いは何ですか? 質問する

ArrayListVectorという 2 つのデータ構造の違いは何ですか?また、それぞれをどこで使用すればよいですか?

ベストアンサー1

違い

  • Vector は同期されますが、ArrayList は同期されません。
  • データ成長方法

Vector を使用する特別な要件がない場合は、ArrayList を使用します。

同期

複数のスレッドが ArrayList に同時にアクセスする場合、リストを構造的に変更するか、単に要素を変更するコード ブロックを外部で同期する必要があります。構造変更とは、リストから要素を追加または削除することを意味します。既存の要素の値を設定することは、構造変更ではありません。

Collections.synchronizedList通常、リストへの偶発的な同期されていないアクセスを回避するために、リストの作成時に使用されます。

データの増加

内部的には、ArrayList と Vector はどちらも配列を使用してコンテンツを保持します。ArrayList または Vector に要素が挿入されると、オブジェクトはスペースが不足した場合に内部配列を拡張する必要があります。Vectorはデフォルトで配列のサイズを 2 倍にしますが、ArrayList は配列のサイズを 50 パーセント増加します。

おすすめ記事