Scala Trait Traversable | Set-2
在上一个集合中,我们已经看到了Class Taversable执行的一些操作。 现在,在这个集合中,我们将理解更多的操作。
这些操作如下:
- 转换操作:
转换操作是 toList,toSeq,toArray,toStream,toSet,toMap,toIterable和toIndexedSeq 。这些操作将Traversable集合转换为一个相对不同的东西。
例如 :
输出:
- 这里,转换操作即 toArray 将上述Set(或任何Traversable)转换为一个数组。
例如:
输出:
- 这里, toList 将Traversable的任何集合转换为列表。
例如:
输出:
- 这里,转换操作即, toSet 将Traversable的任何集合转换为Set。
例如:
输出:
- 这里,转换操作即, toSeq 将Traversable的任何集合转换为序列。 生成的序列用于向量中使用。
例如:
输出:
- 这里的 Conversion 操作即为 toIterable(遍历集合的所有元素),可以将 Traversable 的任何集合转换为 Iterable。
例:
输出:
- 这里的Conversion操作即为toIndexedSeq,可以将任何Traversable转换为 Indexed序列。此处生成的Indexed序列用于字符串和向量。
例:
输出:
- 这里的Conversion操作即为 toStream,可以将任何Traversable的集合转换为Stream。该Stream会被惰性枚举。
例:
输出:
- 这里的toMap可以将任何Traversable转换为Map。Set或List必须有参数。
-
大小信息操作:
大小信息操作包括 nonEmpty、isEmpty、hasDefiniteSize 和 size。这些操作可以指定给定操作是否是有限的或无限的。
例:
// Scala中的大小信息操作 // 创建对象 object Sizeinfo { // 主方法 def main(args: Array[String]) { // 创建Map val x = Map(“gfg” -> “cs”, “nidhi” -> “geek”) // 应用大小信息操作 val y = x.isEmpty // 如果Map为空,则输出true println(y) } }
“`
输出:
- 这里, isEmpty 检查可遍历的集合是否为空。如果元素集合为空,则打印true,否则打印false。
示例:
输出:
- 这里, nonEmpty 检查可遍历的集合是否包含元素。如果集合中有元素,则显示true,否则显示false。
示例:
输出:
- 这里, size 用于评估可遍历集合的大小。
示例:
输出:
- 这里, hasDefiniteSize 用于检查可遍历集合是否具有有限元素。如果集合是有限的,则返回true,否则返回false。
-
元素检索操作:
元素检索操作包括 last、head、lastOption、headOption和find 。这些操作用于检索可遍历集合的第一个或最后一个元素,或检索与给定条件相对应的第一个元素。
示例:
输出:
- 这里,使用 lastOption 返回可遍历的最后一个元素。如果集合中没有元素,则返回None。
示例:
输出:
- 这里的 last 会返回所述集合的最后一个元素。集合必须被排序,否则返回某个随机元素。
示例:
输出:
- 这里的 head 会返回Traversable集合的第一个元素,如果它被排序并且该集合无序,则返回任意随机元素。
示例:
输出:
- 这里的 find 将检索集合中满足指定条件的第一个元素。
示例:
输出:
- 这里的 headOption 返回有序集合的第一个元素,但如果集合为空则返回 None 。
阅读更多:Scala 教程