在尝试编写API时,我正在努力使用2.8(.0-beta1)中的Scala集合。
基本上我需要写的是:
此外,我想定义一个默认实现,例如基于HashSet。特征的伴随对象可能使用此默认实现。我不确定是否需要构建器工厂的全部功能来将我的集合类型映射到其他集合类型。
我读了paper on the redesign of the collections API但是从那时起事情似乎发生了一些变化,我在那里遗漏了一些细节。我也深入研究了集合源代码,但我不确定它是否非常一致。
理想情况下,我希望看到的是一个动手实践的教程,它告诉我一步一步我需要的部分或对所有细节的广泛描述,以便我可以判断自己需要哪些部分。我喜欢“Scala编程”中的对象相等章节。 :-)
但是我很欣赏任何能够帮助我更好地理解新集合设计的文档或示例。
答案 0 :(得分:17)
我将看一下collection.immutable.BitSet的实现。它有点散布,重用来自collection.BitSetLike和collection.generic.BitSetFactory的东西。但它完全按照您的指定执行:实现添加新功能的特定元素类型的不可变集合。