【Sink it】9.Setを使ってみよう(解答)

スポンサーリンク
ApexのSet Apex

こんにちは、にいるです。

Savepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回で第9回目、題材はコレクションの1つ「Set」です。

この記事は「9.Setを使ってみよう」の解説と解答です。

【ヘルプ】セット

1.Setとは

Setとはコレクションの1つです。
Listと反して、順序づけがないコレクションです。
そして値の重複を許さないコレクションです。

Listと比較してみますね。

SObject型のList

こちらが取引先のListです。

# 0 1 2 3 4
要素 取引先1 取引先2 取引先3 取引先4 取引先5
SObject型のSet

こちらが取引先のSetです。

要素 取引先1 取引先2 取引先3 取引先4 取引先5

そう、テーブルで見たときにナンバリングがありません。
なので、Setを参照するときは直接、項目や値を条件に指定する必要があります。

2.解答・解説

解答

解答です。

■デバッグ
 
ApexのSet
 

解説

今回もちょっと難しいかもしれません。

Setへの代入にaddやsize、SOQLを使用しているので、そこの知識が必要になります。
また第3回目で題材にしたfor文も使用しています。

ここでやっていることは、取引先のIdを確認したかったのでId型のSetを宣言しています。
そして、そのSetにSOQLで取得した取引先一件のIdを5回代入しています。

デバッグで確認した通り、代入は成功していますが、2回目以降は代入がされていないことが確認できます。
for文で回しましたが、各回数でも入っていないことが確認できました。

これは1回目で代入された同じId値がまた代入されようとして重複を削除された結果です。

値の重複をさせたくない処理が必要な時はSetを使うことをおすすめします。

3.まとめ

いかがでしたでしょうか。

コレクションは3つありますが、Listは必ず使用する(使用したい!)ため、メソッドも一度は目を通しておきましょう。

皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。

ではでは!

Salesforce 機能別 まとめページ

コメント

タイトルとURLをコピーしました