要比较两个集合的Groovy,除了第一个项目之外,可以使用minus()
方法来实现。
下面是一个示例代码:
def list1 = [1, 2, 3, 4, 5]
def list2 = [2, 3, 4, 5, 6]
def result = list1.minus(list2.drop(1))
println result
输出结果为 [1]
,即两个集合中除了第一个项目之外的差集。
解释一下代码的思路:
list2.drop(1)
方法是为了去除list2
中的第一个项目。minus()
方法用于计算两个集合的差集,即返回在第一个集合中存在但第二个集合中不存在的元素。请注意,示例代码假设两个集合都是有序的。如果集合中存在重复元素,minus()
方法将只返回一次重复的元素。如果集合中的元素顺序不重要,可以使用toSet()
方法将集合转换为集合来去除重复元素。示例代码如下:
def list1 = [1, 2, 3, 4, 5]
def list2 = [2, 3, 4, 5, 6]
def result = list1.minus(list2.drop(1)).toSet()
println result
输出结果为 [1]
。
下一篇:比较两个集合的属性