Scala Trait Traversable | Set-1
介绍:
整个Scala集合类中根特质是 Trait Traversable 。它位于集合层次结构的最上方。它独特的抽象操作是 foreach 。在这里,保证每个操作都以单线程的方式执行。
语法:
在这里,操作f与集合的所有元素相关, **Elem = > U ** 是操作的类型,其中“Elem”是Scala集合中元素的类型,“U”是结果类型。
一些重要点:
- Traversable由Scala的Collection类实现。
- Traversable必须定义foreach方法,因为Traversable可以继承所有其他方法。
- 方法 foreach 可以遍历Scala集合类的所有元素。
- Traversables定义了许多具体方法。
- List、Array、Map、Set等都是Traversables的子类。
Traversable类执行的操作如下:
- 抽象方法:
这里唯一的抽象方法是 foreach ,它可以遍历 Collection 中的所有元素。
例如:
输出:
在这里,foreach 方法遍历了上面数组的所有元素,然后将它们从大写转换为小写。
例如:
输出:
在这里,foreach 方法遍历了列表中的所有数字并将它们相乘。
- 加法操作:
在这里,加法操作即 ++ 将两个 Traversables 相加,或将迭代器的每个元素添加到 Traversable 中。
例如:
输出:
在这里,当一个 Set 加上一个 List 时,将生成一个 Set;当一个 List 加上一个 Set 时,将生成一个 List。
- Map 操作:
这三个 Map 操作是 map 、 flatMap 和 collect 。
这些 Map 操作通过为 Scala 集合的元素分配一些函数来创建一个新的集合。
例如:
输出:
在这里,Map 操作(即 map)将指定函数分配给 Traversable 的每个元素,并将返回一个新的集合作为输出。
例如:
输出:
在这里,flatMap 操作将指定函数分配给 Traversable 的每个元素,然后将返回一个新的集合作为输出。
在这里, flatMap 将对元素内的每个元素分配所述函数,然后将串联输出。
示例:
输出结果:
在这里, collect 将会分配一个部分函数给可遍历的每个元素,并给出一个非相同的集合作为输出。
阅读更多:Scala 教程