【Salesforce 認定Platformデベロッパー】試験対策:第171問

問題

AccountListという名前のList<Account>コレクション内の各Accountを反復処理するための有効な選択肢はどれですか。2つ選びなさい。

  • for (Integer i=0; i < AccountList.Size(); i++) {…}
  • for (Account theAccount : AccountList) {…}
  • for (AccountList) {…}
  • for (List L : AccountList) {…}

正解

  • for (Integer i=0; i < AccountList.Size(); i++) {…}
  • for (Account theAccount : AccountList) {…}
  • for (AccountList) {…}
  • for (List L : AccountList) {…}

解説

Apexでは、forループを使用して、コレクションや範囲を反復処理することができます。Apexのforループには主に3つのバリエーションがあります。

従来のforループ:

このループは、初期化ステートメント、終了条件、および増分ステートメントを使用して、指定された回数だけコードブロックを実行します。

for (init_stmt; exit_condition; increment_stmt) {
    code_block
}
リストやセットの反復処理を行うforループ:

このループは、リストやセットの各要素を反復処理します。変数は、リストやセットの各要素のデータ型と一致する必要があります。

for (variable : list_or_set) {
    code_block
}


SOQLクエリの結果の反復処理を行うforループ:

このループは、SOQLクエリの結果を直接反復処理します。これは、大量のデータを効率的に処理するための方法として推奨されています。

for (variable : [SOQL_query]) {
    code_block
}

それぞれの選択肢の理由について説明します。

□ for (Integer i=0; i < AccountList.Size(); i++) {…}
これは正解です。これは従来のforループのバリエーションに該当します。このループは、初期化ステートメント、終了条件、および増分ステートメントを使用して、指定された回数だけコードブロックを実行します。

□ for (Account theAccount : AccountList) {…}
これは正解です。これはリストやセットの反復処理を行うforループのバリエーションに該当します。このループは、リストやセットの各要素を反復処理します。変数は、リストやセットの各要素のデータ型と一致する必要があります。

□ for (AccountList) {…}
これは不正解です。この構文は正しくありません。反復処理するための変数や条件が指定されていません。

□ for (List L : AccountList) {…}
これは不正解です。AccountListはList型で、その中の要素は取引先オブジェクトです。したがって、List Lという型の変数でAccountListを反復処理することは構文的に正しくありません。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 アドミニストレーター
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次