【问题标题】:Can we append an element to a list in scala, and also to tuple in scala? [closed]我们可以将一个元素附加到 scala 中的列表,也可以附加到 scala 中的元组吗? [关闭]
【发布时间】:2022-01-04 06:02:18
【问题描述】:

可以在 Scala 中将元素附加到列表中吗,例如,我有一个列表,即 var li = List (1, 2, 3, 4, 5) 我可以将6 附加到列表中吗?如果可以的话怎么办?

如果是元组,我该如何追加,例如, var tu = (1, "Hi", 20000) 我可以将"Hello" 字符串附加到它吗?

【问题讨论】:

    标签: list scala tuples


    【解决方案1】:

    ListTuple 都是不可变结构,因此要附加或前置一个元素,您需要创建一个新的 List/Tuple

    val oldLst = List(1,2,3,4,5)
    val newLst = oldLst :+ 6
    

    附加到List 是一个线性运算,O(n)。前置时效率更高。

    val fromZero = 0 :: newLst
    

    Scala 3 提供了增强的Tuple 功能,而这在早期的 Scala 版本中是不可用的。

    val threeTup = (1, "Hi", 20000)
    val fourTup  = threeTup ++ "Hello" *: EmptyTuple
    

    注意:经验丰富的 Scala 实践者从不使用var

    【讨论】:

    • 知道了,非常感谢!!
    • val threeTup = (1, "Hi", 20000) val fourTup = threeTup ++ "Hello" *: EmptyTuple ... 无法执行此操作,它会给出错误提示“value ++”不是 (Int, String, Int)"的成员”
    猜你喜欢
    • 2014-06-10
    • 2017-06-23
    • 2020-09-02
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 2013-12-03
    相关资源
    最近更新 更多