ArrayList と LinkedList: 違いと比較

ArrayList は、Java にあるサイズ変更可能な配列です。 util はパッケージ化されており、サイズの変更により組み込み配列との違いがあり、より多くの派生要素が付属しています。

LinkedList はデータ構造の直線性で知られており、ArrayList のように伝染性の高い場所に保存されません。 これらの違いにより、Java やその他のコーディングのさまざまなアルゴリズム状況での使用が独特になります。  

主なポイント

  1. ArrayList は動的配列を使用して要素を格納し、高速なランダム アクセスと効率的なサイズ変更を提供します。
  2. LinkedList は双方向リンク リストを使用して要素を格納し、効率的な挿入および削除操作を可能にします。
  3. どちらもデータ ストレージ用の Java Collection クラスであり、必要な操作に基づいてパフォーマンス特性が異なります。

ArrayListとLinkedList

ArrayList は内部的に動的配列を使用して要素を格納します。データ操作には時間がかかりますが、データの格納とアクセスには適しているため、リストとしてのみ機能します。LinkedList は、二重リンク リストを使用して要素を格納します。データ操作にはより高速で適しており、リストとキューの両方として機能します。

ArrayListとLinkedList

前述したように、ArrayList はコレクション フレームワークで非常に重要な役割を果たし、さまざまな要素や操作によって実行される Java の動的配列につながります。

要素の追加や変更、AbstractList クラスの継承など、一部の基本操作は常に ArrayList で実行されます。 ArrayList のサイズの初期化は、コレクションに基づいて増減する傾向があります。 

LinkedList は、ArrayList とは異なり、動的なサイズと、挿入や削除が簡単な概念で知られています。LinkedList は、ヘッド (ノード) へのポインターによって表され、それがインパクトがあるか null であるかを確認します。また、アドレスを介してリンクされ、配列の要素よりも優先されます。

比較表

比較パラメータ配列リスト 連結リスト 
使用法動的配列は、要素を内部に格納するために使用されます。 二重連結リストは、要素を内部に格納するために使用されます。 
操作操作は遅く、より多くの時間がかかります。 操作はより速く、最小限の時間で済みます。 
製品の導入 ArrayList は List のみを実装します。 LinkedList は List と Queue を実装します。 
アクセス アプリケーションがデータを保存してアクセスする場合は、ArrayList の方が適しています。  LinkedList は、格納されたデータの操作においてより高速に動作します。 
パフォーマンスArrayList は 0(1) を実行します。 LinkedList は 0(n) を実行します。 
後で思い出せるように今すぐピン留めする
これを固定する

ArrayList とは何ですか? 

ArrayList は、サイズ制限なしで要素を格納するために独自の動的配列を使用します。 これにより、必要に応じていつでもこれらの要素を追加および削除できるようになります。 ArrayList は、以前 Java で使用されていた実質的な配列よりもはるかに柔軟であり、現在では ArrayList が Java で使用されています。 ユーティリティパッケージ。

また読む:  Google Drive と iCloud: 違いと比較

さらに、ArrayList は配列データ構造を使用するため、その要素に対してインデックスベースのシステムを維持します。 これにより、リスト内の要素の検索が高速化されます。  

ArrayList には、実装されてリストに作用する重複要素がいくつかあります。 これは、List インターフェイスのすべてのメソッドをその主要な機能として使用できるようにするために行われます。

ArrayList は、内部注文の挿入も管理および維持し、AbstractList を継承しますが、非同期です。 ArrayList に関する重要な事実は、インデックスに基づく配列の作業によるランダム アクセスです。  

ArrayList() は、空の配列リスト ArrayList(Collection を作成するために使用されます。 c) は、コレクション「c」の要素によって初期化された配列リストを構築するために使用され、ArrayList(int capacity) は、特殊な初期容量がある配列リストで使用されます。 

要素が省略されるたびに多くのシフトが発生し、影響を受けるため、LinkedList に比べて操作が少し遅くなります。 したがって、リスト インターフェイスに対しては順番に拡張されます。 

配列リスト

リンクリストとは?

LinkedList は、一連のデータ構造内のリンクを介して接続されます。LinkedList には、あらゆる方法で順番に動作するように、端から端まで相互にリンクされた項目が含まれます。

LinkedList は配列よりも好ましく、配列に次いで XNUMX 番目によく使用されます。 LinkedList は二重リンク リストを実装します。 横木を検索するにはすべての要素を通過する必要があります。 LinkedList は広く使用されています。

LinkedList の概念を理解するには、特定の用語を理解する必要があります。 用語はリンクです。リンクされたリスト内の各リンクには、要素と呼ばれるデータを保存できます。

また読む:  パイソンとキングコブラ: 違いと比較

Next では、データの両端から各リンクが接続されます。最後に、LinkedList が機能するために、一方の端のリンクから最初のリンクに接続される LinkedList があります。これは First と呼ばれます。 

LinkedList にはさまざまな種類があります。たとえば、項目を前方に移動するための Simple LinkedList、項目を前後に移動するための Double LinkedList、最後の項目リンクから最初の要素、次の要素、および最初の要素への循環リンクを形成する Circular LinkedList などがあります。最後の要素と前の要素にリンクします。

要素に対する LinkedList の基本的な操作は、挿入、削除、表示、検索、および削除です。 

リンクリスト

ArrayList と LinkedList の主な違い: 

  1. LinkedList では要素を無制限に追加できますが、ArrayList では要素が埋められるか、サイズが変更されます。 
  2. LinkedList から要素を削除するのは簡単ですが、ArrayList では、コンピューターのメモリを無駄に占有する空のスペースが残るため、簡単ではありません。 
  3. ArrayList は、内部に含まれる要素へのランダム アクセスを許可します。 ただし、LinkedList では、要素への順次アクセスのみが許可されます。 
  4. LinkedList は、リスト内の各ノードにデータと次のモードへの参照リンクが含まれるため、ArrayList よりもコンピューターのメモリ内でより多くの記憶領域を使用します。 ArrayList とは異なります。 
  5. ArrayList は、リスト上のほぼすべての項目数がわかっている小さなリストに使用する必要があります。 一方、LinkedList は、アイテムの合計数が変化するような大きなデータ リストに使用する必要があります。 
参考情報
  1. https://ieeexplore.ieee.org/abstract/document/6606620/
  2. https://dl.acm.org/doi/abs/10.1145/1529282.1529391

XNUMXつのリクエスト?

私はあなたに価値を提供するために、このブログ記事を書くことに多大な努力を払ってきました. ソーシャルメディアや友人/家族と共有することを検討していただければ、私にとって非常に役立ちます. 共有は♥️

後で読むためにこの記事を保存しますか? 右下のハートをクリックして自分の記事ボックスに保存!

著者について

Chara Yadav は、金融の MBA を取得しています。 彼女の目標は、金融関連のトピックを単純化することです。 彼女は約 25 年間、金融業界で働いてきました。 彼女は、ビジネススクールやコミュニティ向けに複数の金融および銀行のクラスを開催してきました。 続きを読む バイオページ.