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

标签 scala collections

我想编写自定义线性集合。在某些特定情况下类似于扩展列表(并非针对所有参数类型)。

Scala 具有复杂的集合类层次结构,我迷路了。我应该扩展什么特征,我应该实现什么方法?

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

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

最佳答案

这与实现可遍历对象并没有什么不同。 LinearSeq 上只有两个抽象方法,LinearSeqLike 上只有三个抽象方法,您也应该扩展它们。

但是,正如后者的文档明确指出的那样,重要的是您要重写以下方法,以便它们有一个有效的实现:

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

关于scala - 如何在 Scala 中编写自定义线性集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679252/

相关文章:

scala - 如何获取play框架中所有Route URL字符串的列表?

java - 什么是静态<E>?

java - java.util.Map 和 java.util.Set 的优化实现?

java - 可序列化集合的通用参数

ios - Swift:将 oldArray[][] 复制到 newArray[][] 会导致错误(类型 'Any' 没有下标成员)

scala - 对象中奇怪的类名的含义

scala - Akka 流 : process CSV with header

scala - 在Flink中,如何将DataStream写入单个文件?

templates - 为什么 Scala 辅助构造函数中不允许使用类型参数?

Java List.add() 方法