Scala附加列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala附加列表相关的知识,希望对你有一定的参考价值。
我正在为一项任务而开始接触Scala,我已经找了一个小时了,一直在寻找如何在列表中添加一个项目。当然,我已经找到了几种解决方案,下面的代码片段确实可以编译,但生成的列表是空的。谁能告诉我这是为什么?
case NodeList(ls) => {
var ls0 = List()
ls.foreach {
println("hey") // => printed 3 times
i => ls0 :+ i
}
println(ls0) // => Empty list as output (ls contains 3 items when called)
}
将感激帮助很多! 先谢谢你。
答案
你是在向列表中追加一个项目,但你从来没有存储所产生的新列表。基本上,你追加一个项目,然后扔掉结果,再追加,再扔掉,以此类推。
你需要将列表存储在某个地方。
请注意,向一个列表追加是一个坏主意:你必须在整个列表中迭代以找到最后一个元素,然后下一次追加时,你必须再做一次,再做一次,再做一次。这意味着你的代码的算法复杂度为(n^2 - n)2,而同样的事情在Θ(n)中可以轻松完成。你应该总是 前言 列表,而不是追加。
以上是关于Scala附加列表的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?