Setの要素と別のSetの要素(もしくはListの要素)を一度に比較したい!そんな時に使えるのが、Setのメソッドである「containsAll()」です。
比較したいSetの要素と指定したSet/Listのすべての要素が等しい場合に、trueを返します。
これを使うといちいちfor文を使って要素を1つずつ比較する必要がないので便利ですね。
「containsAll()」の使い方
使い方は、引数に比較したい対象のSet、もしくは、Listを指定するだけです。
下の例では、set1をset2、set3とそれぞれ比較しています。
Set<String> set1 = new Set<String>{'a', 'b'};
Set<String> set2 = new Set<String>{'a', 'b', 'c'};
Set<String> set3 = new Set<String>{'a', 'b'};
if(set1.containsAll(set2)){
system.debug('set1とset2は同じ');
}
if(set1.containsAll(set3)){
system.debug('set1とset3は同じ');
}
set1には要素として「a」と「b」が含まれており、これらの要素と完全に一致する要素を持つsetはset3であるため、10行目のデバッグログだけが出力されました。

かんたん!
こういったメソッドの活用は知っているか知らないかですね。
知ります。
あわせて読みたい


【Apex】分かる!分かるぞ!Setの使い方【Salesforce】
今回は「Setの使い方」について解説しますよー。 Setの特徴 Setの特徴は以下の2つですね。 Setの違い 順序がない 値の重複がNG ちなみに、そもそもSetやListの概念がよ…
コメント