理论教育 Scala语言基础:集合相关操作

Scala语言基础:集合相关操作

时间:2023-11-24 理论教育 版权反馈
【摘要】:Scala集合类库继承层次的根节点为trait Traversable[+A],对应该特质,同时提供了一个特质trait TraversableLike[+A,+Repr],Traversable提供了一组接口及其实现代码。在Traversable类的源码中,已经在注释部分给出了继承自TraversableLike的接口列表。在这些从TraversableLike特质中继承的接口中,唯一未提供具体实现的抽象操作是foreach,代码如下所示:foreach方法,顾名思义,是指遍历整个集合中的各个元素,并将指定的操作f作用于每个元素上。下面参考官网给出的接口分类,分别对Traversable提供的各个接口加以说明。

Scala语言基础:集合相关操作

Scala集合类库继承层次的根节点为trait Traversable[+A],对应该特质,同时提供了一个特质trait TraversableLike[+A,+Repr],Traversable提供了一组接口及其实现代码(类名后添加Like的形式类似于Java开发中所对应类名的Impl的后缀形式,通常提供一组默认的实现代码)。

在Traversable类的源码中,已经在注释部分给出了继承自TraversableLike的接口列表。在这些从TraversableLike特质中继承的接口中,唯一未提供具体实现的抽象操作是foreach,代码如下所示:

978-7-111-54169-1-Chapter05-10.jpg

foreach方法,顾名思义,是指遍历整个集合中的各个元素,并将指定的操作f作用于每个元素上。

而对应的其他操作都是基于foreach接口实现的,因此要实现Traversable的集合子类,只需要实现foreach方法,对应的其他方法则可以直接从Traversable中继承。

下面参考官网给出的接口分类,分别对Traversable提供的各个接口加以说明。具体说明如表5-1到表5-13所示。

表5-1 抽象方法

978-7-111-54169-1-Chapter05-11.jpg

表5-2 加法运算(Addition)

978-7-111-54169-1-Chapter05-12.jpg

表5-3 映射(Maps)的操作

978-7-111-54169-1-Chapter05-13.jpg

表5-4 转换(Conversions)的操作

978-7-111-54169-1-Chapter05-14.jpg

表5-5 复制(Copying)的操作

978-7-111-54169-1-Chapter05-15.jpg

表5-6 集合大小信息(Size info)的操作

978-7-111-54169-1-Chapter05-16.jpg

表5-7 元素检索(Element Retrieval)的操作(www.daowen.com)

978-7-111-54169-1-Chapter05-17.jpg

表5-8 获取子集合(Subcollection)的操作

978-7-111-54169-1-Chapter05-18.jpg

表5-9 拆分(Subdivision)的操作

978-7-111-54169-1-Chapter05-19.jpg

(续)

978-7-111-54169-1-Chapter05-20.jpg

表5-10 元素条件查询(Element Conditions)的操作

978-7-111-54169-1-Chapter05-21.jpg

表5-11 折叠(Fold)的操作

978-7-111-54169-1-Chapter05-22.jpg

表5-12 特殊折叠(Specific Fold)的操作

978-7-111-54169-1-Chapter05-23.jpg

表5-13 字符串相关(String)的操作

978-7-111-54169-1-Chapter05-24.jpg

表5-14 视图(View)的操作

978-7-111-54169-1-Chapter05-25.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈