\r\n\r\n
配列と配列のリスト
配列は、要素の集まりを保存するための最も一般的なデータ構造です。多くのプログラミング言語では,配列を簡単に宣言し,その中の要素にアクセスする方法が用意されています.arraylist は動的配列と考えることができ,サイズを大きくすることができます.このため、プログラマは配列リストを定義する際に、そのサイズを知る必要はない。
アレイとは何ですか?
図1は、配列の宣言と値の代入によく使われるコードの一部です。図2は、メモリ上の配列の様子を示しています。
int value[5]; value[0]=100; value[1]=101; value[2]=102; value[3]=103; value[4]=104. |
図1:配列の宣言と値を代入するコード
100 | 101 | 102 | 103 | 104 |
インデックス:0 | 1 | 2 | さんじゅうろく | 4 |
図2:メモリに格納されたアレイ
上のコードでは,5個の整数を格納できる配列を定義し,インデックス0〜4でアクセスできるようにしています.配列の重要な特徴として、配列全体がメモリのブロックとして割り当てられ、各要素は配列の中でそれぞれのスペースを持つ。配列は一度定義すると、そのサイズは固定されます。したがって、コンパイル時に配列の大きさが決まらない場合は、安全な大きさの配列を定義する必要があります。しかし、多くの場合、実際には割り当てた数よりも少ない数の要素しか使っていません。そのため、実際にはかなりの量のメモリが無駄になっています。一方、「十分な大きさの配列」が実際には十分な大きさでない場合、プログラムはクラッシュします。
配列のリストとは何ですか?
アレイリストは動的な配列と考えることができ、サイズを大きくすることができる。そのため、宣言時に必要な要素の大きさがわからない場合に、アレイリストを使用するのが理想的である。Javaでは、ArrayListはオブジェクトしか保持できず、プリミティブ型を直接保持することはできません(プリミティブ型はオブジェクトに入れるか、プリミティブ型のラッパークラスを使用することができます)。通常、ArrayListは**、delete、searchを行うためのメソッドを提供します。要素へのアクセスはo(1)、**と削除はo(n)の時間計算量である。Javaでは、foreachループ、イテレータ、または単純にインデックスを使用して、配列リストをトラバースすることができます。
配列と配列のリストの違いは何ですか?