gpt4 book ai didi

scala - 是否有一种 API 方法可以不考虑顺序来比较 Seq 的内容?

转载 作者:行者123 更新时间:2023-12-03 10:50:54 28 4
gpt4 key购买 nike

假设:

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

关于scala - 是否有一种 API 方法可以不考虑顺序来比较 Seq 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622895/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com