よく使う便利なSet<String>

Setコレクション型はList型コレクションと違い、
データを一意で持つ特徴があります。
よく使うコードはこんな感じでやっています。

Apexコード

Set<String> sets = new Set<String>{};
sets.add('ほげほげ');
sets.add('ふがふが');
sets.add('ほげほげ');
sets.add('テスト 太郎');
system.debug(sets);

if (sets.contains('ほげほげ')) {
    system.debug('ほげほげ が含まれています');
}
system.debug([SELECT ID FROM Account WHERE Name IN :sets]);
system.debug(string.join(new List<String>(sets), ', '));


実行結果

f:id:MNakayama:20160223191547j:plain

データが一意になっているのが確認できます。
(ほげほげ、が2件ないこと)

containsでデータが含まれているかどうか判断できます。

またコレクション型なので、SOQLのIN句にバインドできます。

new Listを通して、String.joinを利用して、
カンマ付きのStringを作成したりもできます。

日々精進。ほんならね~