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

时间:2015-08-20 13:19:36

标签: scala scala-collections scala-generics

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

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

...将作为Akka Actors之间的消息传递。接收方将使用A过滤某些类型descriptor的集合,然后使用selector从生成的过滤集合中选择一个元素。

如上所述,只有接收演员的集合具有immutable.Seq[A]类型才会有效。我想概括上述内容,以便它可以使用A类型的通用元素集合。这可能吗?

1 个答案:

答案 0 :(得分:3)

Scala集合具有层次结构,如下所示。您只需选择适合您的用例的层次结构级别。如果你想要允许地图和集合,Iterable可能是你的好选择。

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

enter image description here