迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

::: 和 ++ 在 Scala 中用于连接列表的区别

作者:迹忆客 最近更新:2023/03/24 浏览次数:

在本文中,我们将了解列表的:::++ 连接方法之间的区别。


Scala 中列表的串联

在 Scala 中,列表是用于以链表形式存储数据的集合。

例子:

val names: List[String] = List("Tony", "Stark", "Hulk")

Scala 中有两种连接列表的方法。 ++::: 运算符。


在 Scala 中使用 ::: 连接列表

::: 运算符只能用于连接列表。在计算方面,使用 ::: 运算符更快,因为它是右关联的。

语法:

val finalList = list1 ::: list2 ::: list3 ::: list4.........

例子:

object MyClass {

    def main(args: Array[String]):Unit= {
        val list1 = List("Tony", "Stark", "Hulk")
        val list2 = List("Iron Man", "Bruce Banner")
        val list3 = List(1,2,3,"a","b")
        val list4 = list1 ::: list2 ::: list3
        println(list4)
    }
}

输出:

List(Tony, Stark, Hulk, Iron Man, Bruce Banner, 1, 2, 3, a, b)

在 Scala 中使用 ++ 连接列表

++ 运算符连接任意两个集合,而不仅仅是列表。这种方法非常通用,因为它可以与任何两个集合一起使用。

语法:

val finalList = list1 ++ list2 ++ list3 ++ list4.........

示例 1:

object MyClass {

    def main(args: Array[String]):Unit= {
        val list1 = List("Tony", "Stark", "Hulk")
        val list2 = List("Iron Man", "Bruce Banner")
        val list3 = List(1,2,3,"a","b")
        val list4 = list1 ++ list2 ++  list3
        println(list4)
    }
}

输出:

List(Tony, Stark, Hulk, Iron Man, Bruce Banner, 1, 2, 3, a, b)

示例 2:


object MyClass {

    def main(args: Array[String]):Unit= {
        val seq1 = Seq(1,3,5,7,9)
        val seq2 = Seq(2,4,6,8)
        val seq3 = seq1 ++ seq2
        println(seq3)
    }
}

输出:

List(1, 3, 5, 7, 9, 2, 4, 6, 8)

让我们总结一下这两个运算符之间的区别。

::: 运算符 ++ 运算符
只有列表可以使用此连接。 任何两个集合都可以使用它连接,而不仅仅是列表。
++ 相比,它更快,因为它是右关联的。 当用于连接列表时,它比 ::: 慢。
不是万能的。 多才多艺,因为它可以连接任何两个可迭代对象。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便