gpt4 book ai didi

Scala 划分一个集合

转载 作者:行者123 更新时间:2023-12-01 10:35:30 25 4
gpt4 key购买 nike

我正在研究如何根据第三组的内容将一组分成两部分。我偶然发现了这个解决方案:

val s = Set(1,2,3)
val s2 = Set(4,5,6)
val s3 = s ++ s2

s3.partition(s)
res0: (scala.collection.immutable.Set[Int],scala.collection.immutable.Set[Int]) = (Set(1, 2, 3),Set(5, 6, 4))

partition的签名如下:

def partition(p: A => Boolean): (Repr, Repr)

有人可以向我解释提供集合而不是函数的工作原理吗?

提前致谢

最佳答案

集合s: Set[A] 一个函数A => Boolean: 对于任何值a A 的 > 您返回 s 是否包含 a

scala> val f: Int => Boolean = Set(1,2,3)
f: Int => Boolean = Set(1, 2, 3)

scala> f(1)
res0: Boolean = true

scala> f(4)
res1: Boolean = false

如果你看documentation for .apply , 你会看到

def apply(elem: A): Boolean
Tests if some element is contained in this set.

This method is equivalent to contains. It allows sets to be interpreted as predicates.

关于Scala 划分一个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36283663/

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