セット
セットは、重複を含まない要素の順序付けされていないコレクションです。セットの要素には、プリミティブ型、コレクション型、sObject 型、ユーザ定義型、組み込み Apex 型のいずれかのデータ型を使用できます。
次の表に、都市名を使用する文字列のセットを示します。
| 'San Francisco' | 'New York' | 'Paris' | 'Tokyo' |
セットには相互にネストすることが可能なコレクションを含めることができます。たとえば、Iteger セットのリストのセットを作成できます。セット内では、コレクションを最大 4 レベルまでネストできます。つまり、最大で 5 つのレベルを使用できます。
セットを宣言するには、<> 文字で囲まれたプリミティブデータ型名の前に Set キーワードを使用します。次に例を示します。
次の例は、ハードコード化された 2 つの文字列値を使用してセットを作成する方法を示しています。
セットの要素にアクセスするには、Apex が提供するシステムメソッドを使用します。次に例を示します。
次の例は、別のセットの要素からセットを作成する方法を示しています。
サポートされるすべてのセットシステムメソッドの全リストなどの詳細は、「Set クラス」を参照してください。
セットについて、次の点に注意してください。
- Java と異なり、Apex 開発者は、宣言でセットを実装するために使用するアルゴリズム (HashSet または TreeSet など) を参照する必要がありません。Apex は、すべてのセットにハッシュ構造を使用します。
- セットは、順序付けされていないコレクションで、特定のインデックスではセット要素にアクセスできません。セット要素しか反復できません。
- セット要素の反復順序は確定的なため、同じコードの後続のどの実行でも順序は同じです。