gpt4 book ai didi

scala - 检查 2 组是否包含在 Scala 中

转载 作者:行者123 更新时间:2023-12-04 04:38:43 25 4
gpt4 key购买 nike

abstract class FinSet[T] protected () {
// given a set other, it returns true iff every element of this is an element of other
def <=(other:FinSet[T]): Boolean =
// ????

到目前为止,这就是我所得到的。我对如何实现这种方法有些困惑。我会像这样调用方法吗:
Set(1,2,3).<=(Set(3,2,1)) which should return true

我想知道这是否可行,但这似乎太简单了:
def <=(other:FinSet[T]): Boolean = if (this == other) true else false

只是寻找一些指导。谢谢。

最佳答案

& - 表示交集,如果第二组没有第一组的元素,下面的代码将返回false。

(thisSet & thatSet) == thisSet

详细地,此代码计算此集合与另一个集合之间的交集,并检查 this 中的元素是否存在等于第一个表达式的结果。

see & or intersect (more verbose version) method in Scaladoc

你也可以做这样的事情:
thisSet.forall(x => thatSet contains x)

或不那么冗长:
thisSet.forall(thatSet contains _)

或者像这样:
(thisSet ++ thatSet) == thatSet

或者像这样:
(thatSet -- thisSet).size == (thatSet.size - thisSet.size)

关于scala - 检查 2 组是否包含在 Scala 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19258505/

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