この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

対応付け

対応付けは、単一の値に一意のキーを対応付ける、キー - 値のペアのコレクションです。キーと値には、プリミティブ型、コレクション型、sObject 型、ユーザ定義型、組み込み Apex 型のいずれかのデータ型を使用できます。たとえば、次の表は国名と通貨の対応付けを示します。

国 (キー) 'United States' 'Japan' 'France' 'England' 'India'
通貨 (値) 'Dollar' 'Yen' 'Euro' 'Pound' 'Rupee'

対応付けのキーと値にはどのコレクションでも含めることができ、コレクションをネストすることが可能です。たとえば、各種の対応付けに Integer を対応付けることができ、その対応付けによって String がリストに対応付けられます。対応付けのキーでは、コレクションを最大 4 レベルまでネストできます。

対応付けを宣言するには、<> 文字で囲まれたキーおよび値のデータ型の前に Map キーワードを使用します。次に例を示します。

汎用または特定の sObject データ型を対応付けとともに使用できます (後の章で、sObject との対応付けに関してさらに詳細に説明します)。対応付けの汎用インスタンスを作成することもできます。

リスト同様、中括弧 ({}) 構文を使用して対応付けを宣言する場合、対応付けのキー - 値のペアを入力できます。中括弧の中で、キーを最初に指定し、=> を使用してそのキーの値を指定します。次に例を示します。

最初の例で、キー a の値は b、キー c の値は d です。

対応付けの要素にアクセスするには、Apex が提供する Map メソッドを使用します。この例では、整数のキーと文字列の値の対応付けを作成します。2 つのエントリを追加し、最初のキーが存在することを確認して、2 番目のエントリの値を取得し、最後にすべてのキーセットを取得します。

サポートされるすべての Map メソッドの全リストなどの詳細は、Map クラスを参照してください。

対応付けの考慮事項

  • Java と異なり、Apex 開発者は、宣言に対応付けを実装するために使用するアルゴリズム (HashMap または TreeMap など) を参照する��要がありません。Apex は、すべての対応付けにハッシュ構造を使用します。
  • 対応付けの結果が返される順序に依存しないでください。対応付けによって返されるオブジェクトの順序は、警告なく変更される場合があります。対応付け要素には、常にキーでアクセスします。
  • 対応付けのキーは、null 値を保持できます。
  • 対応付けの既存のキーと一致するキーを含む対応付けエントリを追加すると、そのキーを含む既存のエントリが新しいエントリで上書きされます。
  • String 型の対応付けキーでは、大文字と小文字が区別されます。大文字と小文字のみが異なる 2 つのキーは一意であるとみなされ、それぞれに別個の対応付けエントリがあります。したがって、putgetcontainsKey、および remove などの Map メソッドでは、これらのキーが別個のものとして処理されます。
  • 対応付けのユーザ定義型キーの一意性は、クラスで提供する equals メソッドと hashCode メソッドによって判断されます。sObject キーなど、その他のすべての非プリミティブ型のキーの一意性は、オブジェクト項目の値の比較によって判断されます。