LinkListとAraylistの違い

1363 ワード

ArayListとLinkdListの違い    通常の状況では、ArayListとLinked Listの違いは以下の点があることを知っています.        1.ArayListは動的配列に基づくデータ構造を実現し、Linked Listはチェーンテーブルに基づくデータ構造である.
        2. ランダムアクセスgetとsetに対して、ArayListはLinked Listより優れています.Linked Listはポインタを移動します. 
Linked Listの時間が長くなりました.挿入位置の選択がLinked Listに大きな影響を与えていることが分かりました.
Linked Listは挿入時に指定されたノードに移動する必要があるため、挿入を開始することができます.挿入する位置が遠いと、LinkdListは挿入位置に移動するまでに一歩ずつ移動する必要があります.これは、ノード値が大きいほど、時間が長くなる理由を説明します.
一方、ArayListはデータ構造であり、下付きによって直接位置を得ることができ、これは特定のノードを検索する時間を省くことができるので、ArayListに対する影響は特に大きくない. 
 
圧力測定:
主に二つの要素が彼らの効率を決定し、挿入されたデータの量と挿入された位置があります.私たちはこの二つの要素をプログラムで変えてそれらの効率をテストすることができます.        データ量が小さい時、テストプログラムの中で、約30未満の場合、両者の効率はほぼ同じで、著しい区別がない.データ量が大きい場合、容量の1/10から開始すると、Linked Listの効率は最初からArayListの効率が高くなくなり、特に半分と後半の位置に挿入すると、Linked Listの効率は明らかにArayListより低くなり、しかもデータ量が大きいほど明らかになる.例えば、index=1000の位置(容量の1/10)に10000のデータを挿入し、index=5000の位置とindex=9000の位置に10000のデータを挿入する運転時間は以下の通りです. 

 index=1000     :
array time:4
linked time:240
array insert time:20
linked insert time:18
 
 index=5000     :
array time:4
linked time:229
array insert time:13
linked insert time:90
 
 index=9000     :
array time:4
linked time:237
array insert time:7
linked insert time:92
--------------------- 
  :eson_15 
  :CSDN 
  :https://blog.csdn.net/eson_15/article/details/51145788 
    :         ,         !