[解決済み] ArrayListとVectorの違いは何ですか?
2022-03-25 13:19:24
質問
2つのデータ構造の違いは何ですか? 配列リスト と ベクター また、それぞれをどこで使うべきでしょうか?
どのように解決するのですか?
相違点
- ベクターは同期化され、ArrayListは同期化される。 はありません。
- データ増加方法
Vectorを使用する特別な要件がない場合は、ArrayListを使用します。
同期化
複数のスレッドがArrayListに同時にアクセスする場合、リストを構造的に変更するか、単に要素を変更するコードのブロックを外部で同期させる必要があります。構造的な変更とは、リストへの要素の追加または削除を意味します。既存の要素の値を設定することは、構造的な変更ではありません。
Collections.synchronizedList
は通常、リストの作成時に使用し、リストへの偶発的な非同期アクセスを回避します。
データの増加
内部的には、ArrayListもVectorもArrayを使って内容を保持しています。ArrayListやVectorに要素が挿入されたとき、そのオブジェクトに余裕がなくなると、内部の配列を拡張する必要があります。 Vectorはデフォルトで配列のサイズが2倍になり、ArrayListは配列のサイズが50%増加します。
関連
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
javaの模造品QQ WeChatのチャットルーム
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
-
[解決済み] JDKとJREの違いは何ですか?
-
[解決済み] Oracle JDKとOpenJDKの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
jd-gui Java Exceptionが発生しました。
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
サーブレットクラスのインスタンス化エラーの解決法
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
HttpClientがGZIP形式でない場合の対処法
-
java 例外。Javaツールの初期化
-
[解決済み] なぜJavaのVector(およびStack)クラスは時代遅れ、または非推奨とされているのですか?
-
[解決済み] C++のVectorはなぜVectorと呼ばれるのですか?