保証スレッドセーフかどうか?
基礎となるデータ構造の違いは?
ArrayListの基礎となる配列が使用されているオブジェクト、双方向円形のリンクリストデータ構造を使用してLinkedListの底を。
挿入および削除要素は、被写体の位置に影響を与えますか?
ストレージ・アレイを使用するので、挿入要素の位置を受信する衝撃の時間複雑さの要素を除去するのArrayList。たとえば、次の方法の(E eを)追加行う場合、指定された要素の端部でのArrayListのデフォルトは、このリストに追加され、この時の複雑さはO(1)です。私は((int型のインデックス、Eの要素を追加し、指定した位置に要素を挿入し、削除したい場合でも )) の時間複雑さにO(NI)です。i番目の要素の後の最初のセットで上記の動作を行い、I(NI)の要素ときのビット操作、順方向/逆方向を実行する必要があるからです。LinkedListのリンクリストメモリは、素子の挿入、削除時刻複雑さは要素の位置によって影響されない、約O(1)であり、アレイは約O(N)です。
高速なランダムアクセスをサポートしていますか?
LinkedListの要素への効率的なランダムアクセスをサポートしていませんが、ArrayListにはRandmoAccessインタフェース、ランダムアクセス機能を実装しています。オブジェクトの要素は(GET(int型のインデックス)メソッドに対応する)の要素数である経由して高速なランダムアクセスへのクイックアクセスがあります。
メモリフットプリント?
空間のArrayListの廃棄物は、主に直接預金と直接後継者へのArrayList(より多くのスペースを消費する必要があり、その各要素に反映されるいくつかの空き容量、コストおよびスペースのLinkedListを予約しますリストの最後にリストに反映されています前駆体およびデータ)。