scala – 有没有API方法来比较Seq的内容,而不管顺序?
发布时间:2020-12-16 09:29:53 所属栏目:安全 来源:网络整理
导读:假设: 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
假设:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |