Scala Trait Traversable | 第四部分

Scala Trait Traversable | 第四部分

操作如下:

  • 折叠:
    操作包括reduceRight、reduceLeft、/:或foldLeft、:\或foldRight,这些方法将二进制操作应用于可遍历集合的连续元素。
    示例:
// Scala程序实现折叠操作
  
// 创建对象 
object Folds
{
  
    // 主要方法
    def main(args: Array[String]) 
    {
  
        // 创建数字列表 
        val x = List(8, 6, 4, 2)
  
        // 应用折叠方法
        // val y = x.foldLeft(0)(_ - _) 或
        val y = (0 /: x)(_ - _)
  
        // 评估下列表达式并显示其值
        // ((((0 - 8) - 6) - 4) - 2) 
        println(y)
  
    }
}

输出:

-20

这里,foldLeft(0)是期望的操作,其中零是“初始值”。
该方法在给定可遍历集合的连续元素之间应用二进制操作,从左到右移动并从初始值开始。
示例:

// 实现Scala程序的Folds操作
  
// 创建对象 
object Folds
{
  
    // 主要方法
    def main(args: Array[String]) 
    {
  
        // 创建数字列表 
        val x = List(8, 6, 4, 2)
  
        // 应用折叠方法
        // val y = x.foldRight(0)(_ - _) 或
        val y = (x :\ 0)(_ - _)
  
        // 评估下列表达式并显示其值
        // (8 - (6 - (4 - (2 - 0))))
        println(y)
    }
}

输出:

4

这里,foldRight将在集合的连续元素之间执行二进制操作,从左到右移动并以初始值结束。
示例:

// Scala程序实现折叠操作
  
// 创建对象 
object Folds
{
  
    // 主要方法
    def main(args: Array[String]) 
    {
  
        // 创建数字列表 
        val x = List(8, 6, 4, 2)
  
        // 应用折叠方法
        val y = x.reduceLeft(_ - _)
  
        // 评估下列表达式并显示其值
        // (((8 - 6) - 4) -2)
        println(y)
    }
}

输出:

-4

这里,reduceLeft像foldLeft一样在集合的连续元素之间执行二进制操作,但将给定集合的第一个元素视为初始值。
示例:

// Scala程序实现折叠操作
  
// 创建对象 
object Folds
{
  
    // 主要方法
    def main(args: Array[String]) 
    {
  
        // 创建数字列表 
        val x = List(8, 6, 4, 2)
  
        // 应用折叠方法
        val y = x.reduceRight(_ - _)
  
        // 评估下列达式并显示其值
        // (8 - (6 - (4 - 2)))
        println(y)
    }
}

输出:

4

这里,reduceRight将像foldRight一样执行二进制操作,但将集合的最后一个元素视为初始值。

  • 特定的折叠操作:
    这里的操作包括min、max、product和sum,这些操作作用于不同类型的Traversable集合。

这里, addString(B, “, “) 是期望的操作,其中,B 是一个字符串生成器,”, ” 是分隔符。
该操作将由指定分隔符分隔的元素集合添加到 StringBuilder 中。
例 :

// Scala 字符串操作示例
  
// 创建对象
object Strings
{
    // 主方法
    def main(args: Array[String]) 
    {
        // 创建数字集合
        val x = Set(7, 8, 9, 10, 11)
      
        // 应用字符串操作
        val y = x.stringPrefix
  
        // 展示使用的集合名称
        println(y)
    }
}

输出:

Set

这里,stringPrefix 将返回使用的集合的名称。

  • 复制操作:
    两个复制操作是 copyToArray 和 copyToBuffer。这些操作用于将 Traversable 集合的元素复制到数组或缓冲区中。
  • 视图操作:
    这里的操作是 view 和 view(from, to)。这些操作用于在 Traversable 集合上生成视图。
    阅读更多:Scala 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程