ArrayList
には、array
という語が含まれています。それは偶然ではありません。
ArrayList
は、実際にはList
インターフェイスのサイズ変更可能な配列の実装です。
したがって、フードの下では、配列を使用してデータを表します。それは要素の「設定」を操作することは非常に一般的な方法を提供しているため、アレイ上ArrayList
を使用して
ほとんどの場合には
は、を支持しなければならない(add(), addAll(), remove(), set(),
など...)あなたは、配列を使用して手動で実行する必要があり、その。
さらに、開発者は、実際のサイズが最初に宣言されたサイズに達したときに、要素の「セット」のサイズと要素の「セット」の容量の増減に関する処理を心配する必要がなくなります。
実際、配列では、サイズは固定です。したがって、例のように宣言でそれを知って指定する必要があります:int[] quizGrades = new int[1];
。
さらに、初期サイズで新しい要素を格納するには十分でない場合は、アレイデータのコピーを別の大きな配列に作成する必要があります。最後に、ArrayListクラスが成長するとき、それはあなたのために何をしますか?
配列を使用するときは?
通常、非常に細かい最適化を実行する必要がある場合。
アプリケーション開発者にとって、必要性はまれです。ここで
いくつかの使用事例:
には、ArrayListラッパー(CPU、メモリ)によって引き起こされるわずかなオーバーヘッドを惜しまたい
それが十分であり、あなたがする必要があるので、あなたは原始的な使用したいです潜在的に消費される各バイトをスペアします。
プリミティブ値は、ラッパー値としてメモリを占有しません。
配列はプリミティブ値を受け入れます。 ListクラスとCollectionクラスはそうではありません。
要素の「セット」の格納方法と取得方法をマスターする必要があります。 容量の増減に関するルールが含まれています。
まずGoogleがヒット:http://javahungry.blogspot.com/2015/03/difference-between-array-and-arraylist-in-java-example.html –
@Robertコロンビアしかし 'ArrayList'どちらもリストではありません。 –
リスト ' quizGrades = new ArrayList ();を書きます。可能であれば、具体的な実装に対してコーディングする代わりに、インタフェースに対してコード化を試みてください。 –
mike