この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Set クラス

重複値のない一意の要素のコレクションを表します。

名前空間

System

使用方法

Set メソッドは、set キーワードを使用して初期化された要素の順序なしのコレクション、つまりセットで機能します。セットの要素には、プリミティブ型、コレクション型、sObject 型、ユーザー定義型、組み込み Apex 型のいずれかのデータ型を使用できます。Set メソッドはすべてインスタンスメソッドです。つまり、Set の特定のインスタンスで動作します。次に、Set のインスタンスメソッドを示します。

  • セットの要素の一意性は、クラスで提供する equals メソッドと hashCode メソッドによって判断されます。その他すべての非プリミティブ型の一意性は、オブジェクトの項目の比較によって判断されます。
  • セットに String 要素が含まれる場合、要素では大文字と小文字が区別されます。大文字と小文字のみが異なる 2 つの要素は、別個のものとみなされます。

メモ

Set についての詳細は、「セット」を参照してください。

Set のコンストラクター

Set のコンストラクターは次のとおりです。

Set<T>()

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)

指定されたセットの要素をコピーして、Set クラスの新しいインスタンスを作成します。T は両方のセットの要素のデータ型で、任意のデータ型を使用できます。

署名

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)

リスト要素をコピーして、Set クラスの新しいインスタンスを作成します。T はセットおよびリストの要素のデータ型で、任意のデータ型を使用できます。

署名

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

使用方法

このメソッドは、元のセットがコールの結果として変更された場合、true を返します。次に例を示します。
1Set<String> myString = new Set<String>{'a', 'b', 'c'};
2Boolean result = myString.add('d');
3System.assertEquals(true, result);

addAll(fromList)

指定されたリストのすべての要素がセットに追加されていない場合は、追加します。

署名

public Boolean addAll(List<Object> fromList)

パラメーター

fromList
型: List

戻り値

型: Boolean

元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、リストとセットの結合を生成します。リストは、メソッドをコールするセットと同じデータ型である必要があります。

addAll(fromSet)

指定されたセットのすべての要素が、メソッドをコールするセットに追加されていない場合は、追加します。

署名

public Boolean addAll(Set<Object> fromSet)

パラメーター

fromSet
型: Set<Object>

戻り値

型: Boolean

このメソッドは、元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、2 つのセットの結合を生成します。指定されたセットは、メソッドをコールする元のセットと同じデータ型である必要があります。

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);

clear()

セットからすべての要素を削除します。

署名

public Void clear()

戻り値

型: Void

clone()

セットの重複コピーを作成します。

署名

public Set<Object> clone()

戻り値

型: Set (同じデータ型)

contains(setElement)

セットに指定した要素が存在する場合、true を返します。

署名

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(listToCompare)

セットに指定したリストのすべての要素がある場合、true を返します。リストは、メソッドをコールするセットと同じデータ型である必要があります。

署名

public Boolean containsAll(List<Object> listToCompare)

パラメーター

listToCompare
型: List<Object>

戻り値

型: Boolean

containsAll(setToCompare)

セットに指定したセットのすべての要素が含まれる場合、true を返します。指定されたセットは、メソッドをコールする元のセットと同じデータ型である必要があります。

署名

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)

このセットと指定されたセットを比較し、両方のセットが等しい場合は true を返し、そうでない場合は false を返します。

署名

public Boolean equals(Set<Object> set2)

パラメーター

set2
型: Set<Object>
set2 引数は、このセットと比較するセットです。

戻り値

型: Boolean

使用方法

要素の順序に関係なく、セットの要素が等しい場合は 2 つのセットは等しくなります。== 演算子は、セットの要素を比較するために使用します。

== 演算子は、equals メソッドのコールに相当します。そのため、set1 == set2; の代わりに set1.equals(set2); をコールできます。

hashCode()

このセットおよびコンテンツに対応する hashcode を返します。

署名

public Integer hashCode()

戻り値

型: Integer

isEmpty()

セットの要素が 0 の場合、true を返します。

署名

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

戻り値

型: Boolean

元のセットがコールの結果として変更された場合、true を返します。

removeAll(listOfElementsToRemove)

指定したリストの要素がセットにある場合は、セットから削除します。

署名

public Boolean removeAll(List<Object> listOfElementsToRemove)

パラメーター

listOfElementsToRemove
型: List<Object>

戻り値

型: Boolean

元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、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);

removeAll(setOfElementsToRemove)

指定したセットの要素が元のセットにある場合は、削除します。

署名

public Boolean removeAll(Set<Object> setOfElementsToRemove)

パラメーター

setOfElementsToRemove
型: Set<Object>

戻り値

型: Boolean

このメソッドは、元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、2 つのセットの相対補数を生成します。指定されたセットは、メソッドをコールする元のセットと同じデータ型である必要があります。

retainAll(listOfElementsToRetain)

指定したリストに含まれるこのセットの要素のみを保持します。

署名

public Boolean retainAll(List<Object> listOfElementsToRetain)

パラメーター

listOfElementsToRetain
型: List<Object>

戻り値

型: Boolean

このメソッドは、元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、リストとセットの交差を生成します。リストは、メソッドをコールするセットと同じデータ型である必要があります。

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);

retainAll(setOfElementsToRetain)

指定したセットに含まれる元のセットの要素のみを保持します。

署名

public Boolean retainAll(Set setOfElementsToRetain)

パラメーター

setOfElementsToRetain
型: Set

戻り値

型: Boolean

元のセットがコールの結果として変更された場合、true を返します。

使用方法

このメソッドは、2 つのセットの交差を生成します。指定されたセットは、メソッドをコールする元のセットと同じデータ型である必要があります。

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);

toString()

設定済みの文字列表現を返します。

署名

public String toString()

戻り値

型: String

使用方法

循環参照で使用する場合、出力は無限再帰を防ぐために切り捨てられます。大きなコレクションに使用する場合、合計ヒープサイズと最大 CPU 時間を超えないように出力が切り捨てられます。
  • コレクションごとに最大 10 項目が出力に含まれ、その後に省略記号 (…) が続きます。
  • 同じオブジェクトがコレクションに複数回含まれている場合、そのオブジェクトは出力に 1 回のみ表示されます。後続の参照は (already output) と表示されます。