ArrayListのとLinkedListはArrayListののとLinkedListの違いを見分けます

ArrayListのとLinkedListの違い

 

オリジナルリンク:https://pengcqu.iteye.com/blog/502676

間のおおよその違い:

1.ArrayListデータ構造は動的配列、LinkedListのベースリンクリストデータ構造に基づいて実現されます。(LinkedListのは、二重リンクリストである、また、次の以前あり)

ランダムアクセスgetおよびセット2. LinkedListのは、ポインタを移動するので、ArrayListには、より良いLinkedListのよりも感じています。 

新しいおよび削除操作3.追加と削除、LinedList比較優位、ArrayListには、データを移動するため。

 時間計算の比較:

まず、重要な点は、内部のArrayListの実装は、オブジェクトの配列の基礎に基づいており、従って、それは他のものよりも素子(ランダムアクセス)の任意のリスト、その速度LinkedListの速い(O1)にアクセスするために、GETメソッドを使用することです。LinkedListのGETメソッドは、もう一方の端(オン)まで、一端からリストを確認するために開始されました。アクセスリストに指定された要素、という点でLinkedListのはへのより高速な方法はありません

しかし、いくつかのケースではLinkedListの中にいくつかのアルゴリズムより効率的なLinkedListはArrayListのを、上回りました。例えば、逆Collections.reverse法を用いてリストは、その性能は良好です。あなたは、挿入と削除操作の多くを一覧表示したい場合は、LinkedListのは、より良い選択です。

III。概要 
は以下の通り一般的で、パフォーマンス中のArrayListとLinkedListの長所と短所、該当する独自のローカルを持っているが、説明: 
1。ArrayListのとLinkedListの用語については、リストの末尾に要素を追加する固定費に費やされています。ArrayListのために、添加元素を指す内部配列の主な増加は、時折再割り当てアレイにつながる可能性があり、LinkedListのが懸念されている間、このオーバーヘッドは統一され、内部エントリオブジェクトを割り当てます。

2。LinkedListのコストの中央に要素を挿入または削除が固定され、リスト内の残りの要素が移動されることをArrayListの手段の中央に要素を挿入または削除します。

3。LinkedListのは、効率的なランダムアクセスの要素をサポートしていません。

4。空間のArrayListの廃棄物は、主に、いくつかの容量に反映されたリストのリストの末尾にスペースを予約し、そしてLinkedListの支出空間は、その要素のそれぞれに反映されるかなりのスペースを消費する必要があります

言うことができます。操作はかなり前に比べもしくは途中で、データの列の後ろにデータを追加することで、その要素より優れたパフォーマンスを提供しますのArrayListを使用するためのランダムアクセスを必要とするとき、あなたの操作は、データの前にある場合とき、中間または追加したり、削除データ、および前記要素のアクセスのために、あなたはLinkedListのを使用する必要があります

オリジナルリンク:https://pengcqu.iteye.com/blog/502676

間のおおよその違い:

1.ArrayListデータ構造は動的配列、LinkedListのベースリンクリストデータ構造に基づいて実現されます。(LinkedListのは、二重リンクリストである、また、次の以前あり)

ランダムアクセスgetおよびセット2. LinkedListのは、ポインタを移動するので、ArrayListには、より良いLinkedListのよりも感じています。 

新しいおよび削除操作3.追加と削除、LinedList比較優位、ArrayListには、データを移動するため。

 時間計算の比較:

まず、重要な点は、内部のArrayListの実装は、オブジェクトの配列の基礎に基づいており、従って、それは他のものよりも素子(ランダムアクセス)の任意のリスト、その速度LinkedListの速い(O1)にアクセスするために、GETメソッドを使用することです。LinkedListのGETメソッドは、もう一方の端(オン)まで、一端からリストを確認するために開始されました。アクセスリストに指定された要素、という点でLinkedListのはへのより高速な方法はありません

しかし、いくつかのケースではLinkedListの中にいくつかのアルゴリズムより効率的なLinkedListはArrayListのを、上回りました。例えば、逆Collections.reverse法を用いてリストは、その性能は良好です。あなたは、挿入と削除操作の多くを一覧表示したい場合は、LinkedListのは、より良い選択です。

III。概要 
は以下の通り一般的で、パフォーマンス中のArrayListとLinkedListの長所と短所、該当する独自のローカルを持っているが、説明: 
1。ArrayListのとLinkedListの用語については、リストの末尾に要素を追加する固定費に費やされています。ArrayListのために、添加元素を指す内部配列の主な増加は、時折再割り当てアレイにつながる可能性があり、LinkedListのが懸念されている間、このオーバーヘッドは統一され、内部エントリオブジェクトを割り当てます。

2。LinkedListのコストの中央に要素を挿入または削除が固定され、リスト内の残りの要素が移動されることをArrayListの手段の中央に要素を挿入または削除します。

3。LinkedListのは、効率的なランダムアクセスの要素をサポートしていません。

4。空間のArrayListの廃棄物は、主に、いくつかの容量に反映されたリストのリストの末尾にスペースを予約し、そしてLinkedListの支出空間は、その要素のそれぞれに反映されるかなりのスペースを消費する必要があります

言うことができます。操作はかなり前に比べもしくは途中で、データの列の後ろにデータを追加することで、その要素より優れたパフォーマンスを提供しますのArrayListを使用するためのランダムアクセスを必要とするとき、あなたの操作は、データの前にある場合とき、中間または追加したり、削除データ、および前記要素のアクセスのために、あなたはLinkedListのを使用する必要があります

おすすめ

転載: www.cnblogs.com/dianzan/p/11940033.html