Scala集合类库继承层次的根节点为trait Traversable[+A],对应该特质,同时提供了一个特质trait TraversableLike[+A,+Repr],Traversable提供了一组接口及其实现代码(类名后添加Like的形式类似于Java开发中所对应类名的Impl的后缀形式,通常提供一组默认的实现代码)。
在Traversable类的源码中,已经在注释部分给出了继承自TraversableLike的接口列表。在这些从TraversableLike特质中继承的接口中,唯一未提供具体实现的抽象操作是foreach,代码如下所示:
foreach方法,顾名思义,是指遍历整个集合中的各个元素,并将指定的操作f作用于每个元素上。
而对应的其他操作都是基于foreach接口实现的,因此要实现Traversable的集合子类,只需要实现foreach方法,对应的其他方法则可以直接从Traversable中继承。
下面参考官网给出的接口分类,分别对Traversable提供的各个接口加以说明。具体说明如表5-1到表5-13所示。
表5-1 抽象方法
表5-2 加法运算(Addition)
表5-3 映射(Maps)的操作
表5-4 转换(Conversions)的操作
表5-5 复制(Copying)的操作
表5-6 集合大小信息(Size info)的操作
表5-7 元素检索(Element Retrieval)的操作(www.daowen.com)
表5-8 获取子集合(Subcollection)的操作
表5-9 拆分(Subdivision)的操作
(续)
表5-10 元素条件查询(Element Conditions)的操作
表5-11 折叠(Fold)的操作
表5-12 特殊折叠(Specific Fold)的操作
表5-13 字符串相关(String)的操作
表5-14 视图(View)的操作
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。