如何在scala中编写自定义线性集合

时间:2013-02-04 01:20:54

标签: scala collections

我想写自定义线性集合。在某些特定情况下(不适用于所有参数类型),扩展List之类的东西。

Scala使收集类层次结构变得复杂,我迷失了。我应该扩展什么特质,我应该采用什么方法?

我找到了自定义可遍历实施的理解教程:http://daily-scala.blogspot.ru/2010/04/creating-custom-traversable.html

我正在寻找有关实现自定义线性序列的类似提示。

1 个答案:

答案 0 :(得分:3)

与实施可移植性并没有什么不同。 LinearSeq上只有两个抽象方法,LinearSeqLike上只有三个,你也应该扩展它们。

但是,正如后者的文档所表明的那样,重要的是覆盖以下方法,以便它们具有高效的实现:

 def isEmpty: Boolean
 def head: A
 def tail: Repr