この記事では、主に、ArrayListとLinkedListの違いと、Javaプログラミングの使用シナリオの関連するコンテンツを研究しています。詳細は次のとおりです。
1。アレイリストはアレイに基づいて実装され、そのコンストラクターは次のとおりです。
プライベートトランジェントオブジェクト[] elementData;プライベートINTサイズ。
Arrylistが初期化されると、ElementDataアレイサイズはデフォルト10になります。
()を追加するたびに、最初のsursurecapacity()を呼び出して、配列がオーバーフローしないようにします。この時点でいっぱいの場合、配列の長さの1.5倍 + 1に拡張され、array.copyメソッドを使用して元の配列を新しい配列にコピーします。
アレイリストスレッドは安全ではなく、ベクトルメソッドは同期、スレッドセーフです。
2。LinkedListは、二重リンクリストに基づいて実装されています。
オブジェクト要素;次にエントリ、前。
初期化中に、値nullのヘッダーエントリがあります。
ヘッダーを使用する利点は、エントリー前のエントリとエントリ後のエントリが任意のエントリ(最初と最後のエントリを含む)があることです。そのため、LinkedListオブジェクトの開始または最後に挿入操作を実行する特別な場所がないことです。
シナリオを使用してください:
(1)アプリケーションが各インデックス位置の要素に対する多数のアクセスまたは削除操作を実行する場合、ArrayListオブジェクトはLinkedListオブジェクトよりもはるかに優れています。
(2)アプリケーションが主にリストをループし、ループ中に操作を挿入または削除する場合、LinkedListオブジェクトはArrayListオブジェクトよりもはるかに優れています。
要約します
上記は、ArrayListとLinkedListの違いと、使用法シナリオコードの分析に関するこの記事のすべての内容です。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!