假设:
val l1 = List(1,2,3)
val l2 = List(2,3,1)
我想要一种方法来确认 l1 等于 l2 (内容相同但顺序不同)。 List/Seq 上有 API 方法可以做到这一点吗?
l1.sameElements(l2)
不起作用,因为它也验证订单。
我想出了以下几点:
l1.foldLeft(l1.size == l2.size)(_ && l2.contains(_))
还有什么比上面的比较更简洁的吗?
如果您想要的是“这些列表包含相同的元素,无论顺序或重复如何”:
l1.toSet == l2.toSet
如果您想要的是“这些列表包含相同的元素,并且每个列表的重复次数相同”:
l1.sorted == l2.sorted
如果您想要的是“这些列表包含相同的元素并且大小相同,但给定元素的重复次数在两个列表之间可以不同”:
l1.size == l2.size && l1.toSet == l2.toSet
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)