一、ArrayListに
ArrayListのは扱うことができ、可変長配列型である、ここで「数」のグループに限定されるものではなく、ArrayListには、任意の型のオブジェクトを保持することができ、一般的なクラスです。名前が示すように、オブジェクトは、すべてのタイプの親クラスであるので、記憶されたタイプオブジェクトクラスオブジェクトのArrayListの内部配列が存在するため、その内部の使用は、オブジェクトを格納する配列であるので、それは、配列ArrayListのリストです。一般的に使用される方法は、ArrayListのクラスの追加(ある)、クリア()、(取得)、のindexOf()、(削除)など、ソート()、内のtoArray()、のtoString()、インタフェースIteratorを実装プライベートArrayListの内部クラスながら、 、あなたは同時に、ArrayListのイテレータを取得するイテレータ()メソッドを使用することができますので、プライベートクラスは、反復子インタフェースを実装してあり、ArrayListにも反復子のイテレータを取得するために反復子()メソッドを呼び出すことができます。
ArrayListのオブジェクトを格納する配列を依存し、それをパッケージ化するので、その方法のいくつかの効率を探しているので、ほぼ通常の配列の効率でO(N)であり、これはArrayListの変数「アレイ」でありますあなたは、指定されたすべてのオブジェクトを格納することができます。
ArrayListのは、スレッドセーフではありませんので、また、以降のすべてのArrayListの方法は、単一のスレッドではデフォルトで行われています。あなたはマルチスレッドで使用したい場合は、コールするArrayListのために)(静的メソッドsynchronizedList Colletionsクラスを使用する必要があります。
二、LinkedListの
LinkedListのは、二重リンクリストとして見ることができ、すべての操作は、それがのDequeインタフェースと、Listインタフェースを実装しているため操作の二重リンクリストであると考えることができます。あなたは、同時の環境でそれを使用する場合同様に、LinkedListのは、スレッドセーフで、同じ静的メソッドsynchronizedList Colletionsクラスは、()LinkedListのために呼び出すことができます。
LinkedListのではなく、通常のデータを格納するためのアレイが、ノードを使用して内部で実施するが、
したがって、LinkedListのとArrayListの間の最大の差は、方法のLinkedListは、より柔軟かつ効率的な部分は、データが頻繁場合について、はるかに効率的なArrayListの対応する方法よりも、およびLinkedListのを推薦するのに十分に柔軟であることをオペレータを必要としている、配列変更について小さな、主にケースを照会するために使用され、あなたはArrayListのを使用することができます。