规则。放
设置类型。
集合是无序的集合。集合不能包含重复的项目。
没有可用于创建集合的集合文字。相反,使用List.toSet()
从列表创建集。参见规则列表。
// 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() 返回规则.Set
返回一个集合,该集合是调用difference()
的集合与传递给difference()
的集合之间的差异。也就是说,返回一个集合,其中包含比较集中不属于指定集合的元素。
如果集合相同,则返回空集合 ( size() == 0
)。
- 退货
non-null rules.Set
设置差异集,其中包含在比较集中找到但不在调用集中的元素。
例子
['a','b'].toSet().difference(['a','c'].toSet()) == ['b'].toSet()
拥有全部
hasAll() 返回规则.Boolean
测试调用hasAll()
集合是否包含传递给hasAll()
的比较集中的所有项目。
- 退货
non-null rules.Boolean
布尔值调用集是否包含比较集或列表的所有项目。
例子
['a','b'].toSet().hasAll(['a','c']) == false
['d','e','f'].toSet().hasAll(['d','e']) == true
有任何
hasAny() 返回规则.Boolean
测试调用hasAny()
集合是否包含传递给hasAny()
集合或列表中的任何项目。
- 退货
non-null rules.Boolean
布尔值调用集是否包含比较集或列表的任何项目。
例子
['a','b'].toSet().hasAny(['c','d'].toSet()) == false
['a','b'].toSet().hasAny(['a','c'].toSet()) == true
仅有
hasOnly() 返回rules.Boolean
测试调用hasOnly()
的集合是否仅包含传递给hasOnly()
的比较集或列表中的项目。
- 退货
non-null rules.Boolean
布尔值调用集是否仅包含比较集或列表的项目。
例子
['a','b'].toSet().hasOnly(['a','c']) == false
['a','b'].toSet().hasOnly(['a','b']) == true
路口
交集()返回rules.Set
返回一个集合,该集合是调用intersection()
集合与传递给intersection()
集合之间的交集。也就是说,返回一个包含这些集合共有的元素的集合。
如果集合没有共同元素,则返回空集合 ( size() == 0
)。
- 退货
non-null rules.Set
集合交集包含在调用集和比较集中找到的元素。
例子
['a','b'].toSet().intersection(['a','c'].toSet()) == ['a'].toSet()
尺寸
size() 返回规则.Integer
返回集合的大小。
- 退货
non-null rules.Integer
整数指定集中的值的数量。
联盟
union() 返回规则.Set
返回一个集合,该集合是调用union()
的集合和传递给union()
集合的并集。也就是说,返回一个包含两个集合中所有元素的集合。
- 退货
non-null rules.Set
集合并集包含调用集和比较集中的所有元素。
例子
['a','b'].toSet().union(['a','c'].toSet()) == ['a', 'b', 'c'].toSet()