Set クラス
名前空間
使用方法
Set メソッドは、set キーワードを使用して初期化された要素の順序なしのコレクション、つまりセットで機能します。セットの要素には、プリミティブ型、コレクション型、sObject 型、ユーザ定義型、組み込み Apex 型のいずれかのデータ型を使用できます。Set メソッドはすべてインスタンスメソッドです。つまり、Set の特定のインスタンスで動作します。次に、Set のインスタンスメソッドを示します。
Set についての詳細は、「Set」を参照してください。
Set のコンストラクタ
Set のコンストラクタは次のとおりです。
Set<T>()
署名
public Set<T>()
例
1// Create a set of strings
2Set<String> s1 = new Set<String>();
3// Add two strings to it
4s1.add('item1');
5s1.add('item2');Set<T>(setToCopy)
署名
public Set<T>(Set<T> setToCopy)
パラメータ
- setToCopy
- 型: Set<T>
- このセットの初期化に使用するセット。
例
1Set<String> s1 = new Set<String>();
2s1.add('item1');
3s1.add('item2');
4Set<String> s2 = new Set<String>(s1);
5// The set elements in s2 are copied from s1
6System.debug(s2);Set<T>(listToCopy)
署名
public Set<T>(List<T> listToCopy)
パラメータ
- listToCopy
- 型: Integer
- このセットにコピーされる要素を持つリスト。
例
1List<Integer> ls = new List<Integer>();
2ls.add(1);
3ls.add(2);
4// Create a set based on a list
5Set<Integer> s1 = new Set<Integer>(ls);
6// Elements are copied from the list to this set
7System.debug(s1);// DEBUG|{1, 2}Set のメソッド
Set のメソッドは次のとおりです。すべてインスタンスメソッドです。
add(setElement)
署名
public Boolean add(Object setElement)
パラメータ
- setElement
- 型: Object
戻り値
型: Boolean
使用方法
1Set<String> myString = new Set<String>{'a', 'b', 'c'};
2Boolean result = myString.add('d');
3System.assertEquals(true, result);addAll(fromSet)
署名
public Boolean addAll(Set<Object> fromSet)
パラメータ
- fromSet
- 型: Set<Object>
使用方法
例
1Set<String> myString = new Set<String>{'a', 'b'};
2Set<String> sString = new Set<String>{'c'};
3
4Boolean result1 = myString.addAll(sString);
5System.assertEquals(true, result1);contains(setElement)
署名
public Boolean contains(Object setElement)
パラメータ
- setElement
- 型: Object
戻り値
型: Boolean
例
1Set<String> myString = new Set<String>{'a', 'b'};
2Boolean result = myString.contains('z');
3System.assertEquals(false, result);containsAll(setToCompare)
署名
public Boolean containsAll(Set<Object> setToCompare)
パラメータ
- setToCompare
- 型: Set<Object>
戻り値
型: Boolean
例
1Set<String> myString = new Set<String>{'a', 'b'};
2Set<String> sString = new Set<String>{'c'};
3Set<String> rString = new Set<String>{'a', 'b', 'c'};
4
5Boolean result1, result2;
6result1 = myString.addAll(sString);
7system.assertEquals(true, result1);
8
9result2 = myString.containsAll(rString);
10System.assertEquals(true, result2);equals(set2)
署名
public Boolean equals(Set<Object> set2)
パラメータ
- set2
- 型: Set<Object>
- set2 引数は、このセットと比較するセットです。
戻り値
型: Boolean
使用方法
要素の順序に関係なく、セットの要素が等しい場合は 2 つのセットは等しくなります。== 演算子は、セットの要素を比較するために使用します。
== 演算子は、equals メソッドのコールに相当します。そのため、set1 == set2; の代わりに set1.equals(set2); をコールできます。
isEmpty()
署名
public Boolean isEmpty()
戻り値
型: Boolean
例
1Set<Integer> mySet = new Set<Integer>();
2Boolean result = mySet.isEmpty();
3System.assertEquals(true, result);remove(setElement)
署名
public Boolean remove(Object setElement)
パラメータ
- setElement
- 型: Object
removeAll(listOfElementsToRemove)
署名
public Boolean removeAll(List<Object> listOfElementsToRemove)
パラメータ
- listOfElementsToRemove
- 型: List<Object>
使用方法
このメソッドは、2 つのセットの相対補数を生成します。リストは、メソッドをコールするセットと同じデータ型である必要があります。
例
1Set<integer> mySet = new Set<integer>{1, 2, 3};
2List<integer> myList = new List<integer>{1, 3};
3Boolean result = mySet.removeAll(myList);
4System.assertEquals(true, result);
5Integer result2 = mySet.size();
6System.assertEquals(1, result2);retainAll(listOfElementsToRetain)
署名
public Boolean retainAll(List<Object> listOfElementsToRetain)
パラメータ
- listOfElementsToRetain
- 型: List<Object>
使用方法
このメソッドは、リストとセットの交差を生成します。リストは、メソッドをコールするセットと同じデータ型である必要があります。
例
1Set<integer> mySet = new Set<integer>{1, 2, 3};
2List<integer> myList = new List<integer>{1, 3};
3Boolean result = mySet.retainAll(myList);
4System.assertEquals(true, result);size()
署名
public Integer size()
戻り値
型: Integer
例
1Set<Integer> mySet = new Set<Integer>{1, 2, 3};
2List<Integer> myList = new List<Integer>{1, 3};
3Boolean result = mySet.retainAll(myList);
4
5System.assertEquals(true, result);
6
7Integer result2 = mySet.size();
8System.assertEquals(2, result2);