ApexのSetの使い方

スポンサーリンク
ApexのSetの使い方 Apex

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

今回はApexのコレクション、「Set」の使い方について、見ていきたいと思います。

【ヘルプ】セット
【ヘルプ】Setクラス

1.Setとは

Setは重複を含まない要素を格納することができます。
はい、初学者の方にはもう意味わからないですよね。

つまり、重複しないものをいれる箱と考えておいていいと思います!
要素は値です!

よく使用されるのはID型ですね。
あるListのレコードIDだけを取得して、対象のレコードだけでSOQLを実行したい時などによく使うことがあります。
※特定の購読者グループリストからさらに年齢で絞った購読者にするなど。

2.Setの使い方

宣言方法は、Listと同じくデータ型を<>で囲んで使用します。


宣言時に値を代入する場合は、下記のように{}に値を入れて宣言します。

3.Setのメソッド

次にSetのメソッドについて見ていきたいと思います。
合計で18個あります。

# メソッド 内容
1 add(setElement) 要素を追加します
2 addAll(fromList) リストのすべての要素をセットに追加します
3 addAll(fromSet) セットのすべての要素をセットに追加します
4 clear() セットからすべての要素を削除します
5 clone() セットの重複コピーを作成します
6 contains(setElement) セットに指定した要素が存在する場合、trueを返します
7 containsAll(listToCompare) セットに指定したリストのすべての要素がある場合、trueを返します
8 containsAll(setToCompare) セットに指定したセットのすべての要素が含まれる場合、trueを返します
9 equals(set2) 指定したセットと等しい場合は trueを返します
10 hashCode() このセットおよびコンテンツに対応する hashcode を返します
11 isEmpty() セットの要素が0の場合、trueを返します
12 remove(setElement) 指定した要素をセットから削除します
13 removeAll(listOfElementsToRemove) 指定したリストの要素をセットから削除します
14 removeAll(setOfElementsToRemove) 指定したセットの要素をセットから削除します
15 retainAll(listOfElementsToRetain) 指定したリストに含まれる要素のみを保持します
16 retainAll(setOfElementsToRetain) 指定したセットに含まれる要素のみを保持します
17 size() セットの要素の数を返します
18 toString() 設定済みの文字列表現を返します

メソッドもListクラスとほぼ同じですね。
addするにはこんな感じです。

デバッグでadd前後のサイズを見てみると増加しているのがわかりますね。

Setの使い方

ちなみにAppleを二回入れてみると、Addされていないことがわかります。
これはAppleがすでにSetの中に存在しているからですね。

デバッグ結果です。

Setの使い方
 

4.まとめ

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

SetもListまでは多用しないですが、IDを使用する時は使うことが多いので覚えておいた方がいいですね。
重複する場合は、勝手に弾いてくれるので便利です。

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

ではでは!

Salesforce 機能別 まとめページ

コメント

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