リスト
次の表に、String のリストの視覚的な表示を示します。
| インデックス 0 | インデックス 1 | インデックス 2 | インデックス 3 | インデックス 4 | インデックス 5 |
|---|---|---|---|---|---|
| 'Red' | 'Orange' | 'Yellow' | 'Green' | 'Blue' | 'Purple' |
リスト内の最初の要素の位置は必ず 0 になります。
リストにはどのコレクションも含めることができ、相互にネストして、多次元的に構築できます。たとえば、Iteger セットのリストのリストを作成できます。リストでは、コレクションを最大 4 レベルまでネストできます。つまり、全部で 5 つのレベルを使用できます。
リストを宣言するには、<> 文字で囲まれたプリミティブデータ型、sObject、ネストされたリスト、対応付け、または設定された要素の種類の前に List キーワードを使用します。次に例を示します。
1// Create an empty list of String
2List<String> my_list = new List<String>();
3// Create a nested list
4List<List<Set<Integer>>> my_list_2 = new List<List<Set<Integer>>>();リストの要素にアクセスするには、Apex が提供する List メソッドを使用します。次に例を示します。
1List<Integer> myList = new List<Integer>(); // Define a new list
2myList.add(47); // Adds a second element of value 47 to the end
3 // of the list
4Integer i = myList.get(0); // Retrieves the element at index 0
5myList.set(0, 1); // Adds the integer 1 to the list at index 0
6myList.clear(); // Removes all elements from the listサポートされるすべてのメソッドなどの詳細は、「List クラス」を参照してください。
一次元リストの配列表記の使用
プリミティブまたはオブジェクトの一次元リストを使用する場合、従来の配列表記を使用してリスト要素を宣言および参照することもできます。たとえば、次のようにデータ名または型名の後に [] 文字を挿入して、プリミティブまたはオブジェクトの一次元的リストを宣言することができます。
1String[] colors = new List<String>();これらの 2 つのステートメントは以前のものと同等です。
1List<String> colors = new String[1];1String[] colors = new String[1];一次元リストの要素を参照するには、リスト名の後に要素のインデックス位置を角括弧で囲んで表記することもできます。次に例を示します。
1colors[0] = 'Green';以前の String 配列のサイズは 1 つの要素として定義されますが (new String[1] の括弧の中の数)、List add メソッドを使用して新しい要素を追加する場合には可変的であり、必要に応じて増加する可能性があります。たとえば、複数の要素を colors リストに追加できます。ただし、角括弧を使用してリストに要素を追加する場合、リストは配列のように動作し、可変的ではありません。つまり、宣言された配列サイズよりも多くの要素を追加することはできません。
すべてのリストは null に初期設定されます。リストには値を割り当て、リテラル表記を使用してメモリを割り当てることができます。次に例を示します。
| 例 | 説明 |
|---|---|
|
要素のない、サイズが 0 の Integer リストを定義します。 |
|
メモリが 6 つの Integer に割り当られた Integer リストを定義します。 |