scala - 编写一些通用 scala 集合的函数

标签 scala scala-collections scala-generics

我定义了一个案例类...

case class QueryRef[A](id: UUID, descriptor: (A) => Boolean, selector: immutable.Iterable[A] => A])

...这将作为 Akka Actor 之间的消息传递。接收器将过滤一些类型为 A 的集合使用descriptor然后使用 selector 从结果过滤集合中选择单个元素.

正如所写,它仅在接收 Actor 的集合类型为 immutable.Seq[A] 时才有效。 。我想概括上述内容,以便它可以与 A 类型的元素的通用集合一起使用。 。这可能吗?

最佳答案

Scala 集合具有层次结构,如下所示。您只需选择适合您的用例的层次结构级别。如果您希望允许使用 Maps 和 Sets,那么 Iterable 可能是一个不错的选择。

当然,您只能使用该层次结构级别上可用的那些函数,您将无法使用任何 Seq 特定功能。

enter image description here

关于scala - 编写一些通用 scala 集合的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32119374/

相关文章:

json - 从 spark 中保存压缩的 json

java - 有没有办法限制 MapReduce 程序的节点数?

scala - 模拟 Scala ParStream

Apache Spark 数据集创建中的 Scala 泛型类型用法

scala - 为什么用 Option 包装泛型方法调用会延迟 ClassCastException?

regex - 如何在 Scala Spark 中将空字符串替换为 N/A?

scala - Scala (Spark) 中 RDD 的聚合总和

来自元组可迭代的Scala Map

scala - 流、 View 、迭代器

Scala 泛型 - 当使用类型约束时,为什么 scala 返回父类(super class)型而不是子类型的实例?