規則。 設定
設定類型。
組合是沒有順序的集合。組合不得包含重複的項目。
建立集時,沒有可使用的固定常值。請改為在
使用 List.toSet()
的清單。請參閱 rules.List。
// Create a set and check its size ['a','b'].toSet().size() == 2
除了下列方法以外,組合還具有下列運算子:
運算子 | 用量 |
---|---|
x == y |
比較 x 和 y 集合 |
v in x |
檢查組合 x 中是否存在值 v。例如: 'a' in ['a','b'].toSet() == true |
方法
差異
Difference() 會傳回 rules.Set
傳回一組呼叫之間的差異集。
difference()
,以及傳遞至 difference()
的集合。
也就是說,系統會傳回一個集合,其中包含
系統並未提供指定的比較組合。
如果集合相同,則會傳回空的集合 (size() == 0
)。
- 傳回
-
non-null rules.Set
差異集,其中包含 呼叫組合中尚未輸出的比較組
範例
['a','b'].toSet().difference(['a','c'].toSet()) == ['b'].toSet()
hasAll
hasAll() 傳回 rules.Boolean
測試呼叫 hasAll()
的設定是否包含所有項目
列在傳遞至 hasAll()
的比較集中。
- 傳回
-
non-null rules.Boolean
呼叫集是否包含 比較項目組合或清單
範例
['a','b'].toSet().hasAll(['a','c']) == false
['d','e','f'].toSet().hasAll(['d','e']) == true
任何
hasAny() 會傳回 rules.Boolean
測試呼叫 hasAny()
組合是否包含任何項目
放在傳遞至 hasAny()
的集合或清單中。
- 傳回
-
non-null rules.Boolean
呼叫組合是否包含任何項目 比較組合或清單
範例
['a','b'].toSet().hasAny(['c','d'].toSet()) == false
['a','b'].toSet().hasAny(['a','c'].toSet()) == true
hasOnly
hasOnly() 傳回 rules.Boolean
測試呼叫 hasOnly()
的設定是否只包含項目
列在傳遞至 hasOnly()
的比較組合或清單中。
- 傳回
-
non-null rules.Boolean
是否只包含以下呼叫組合的項目: 比較項目組合或清單
範例
['a','b'].toSet().hasOnly(['a','c']) == false
['a','b'].toSet().hasOnly(['a','b']) == true
交集
Intersection() 傳回 rules.Set
傳回集合呼叫之間的交集。
intersection()
,並傳遞至
intersection()
。也就是說,系統會傳回包含這些元素的集合
這些原則的共通點
如果組合沒有共同的元素,則傳回空白集合
(size() == 0
)。
- 傳回
-
包含同時在兩個位置中的元素集的
non-null rules.Set
個交集 呼叫集和比較組合
範例
['a','b'].toSet().intersection(['a','c'].toSet()) == ['a'].toSet()
大小
size() 會傳回 rules.Integer。
傳回組合的大小。
- 傳回
-
non-null rules.Integer
指定集合中的值個數。
聯集
union() 會傳回 rules.Set
傳回呼叫 union()
的組合,以及該集合的聯集
已傳遞至 union()
的組合。也就是說,會傳回包含
擷取兩個資料集中的所有元素
- 傳回
-
non-null rules.Set
聯集集,其中包含兩個 呼叫組合和比較組
範例
['a','b'].toSet().union(['a','c'].toSet()) == ['a', 'b', 'c'].toSet()