我想确保正确理解一些scala代码。我在类中有一个方法:
def getNodes(): IndexedSeq[Node] = allNodes
然后在某个地方调用此方法:
val nodes = graph.getNodes()
然后有一行
val orderedNodes = nodes ++ nodes.reverse
这是否会产生另一个序列,其中原始序列和反向连接被连接起来或者还有其他一些细微之处?
答案 0 :(得分:4)
是的,结果是一个新的IndexedSeq包含与你写的一样的项目。您正在调用此处详细记录的方法++
和reverse
:
http://www.scala-lang.org/api/2.10.3/index.html#scala.collection.IndexedSeq
您的代码可以这样写:
val orderedNodes = nodes.++(nodes.reverse)