如果我有一个使用可变 scala 堆栈集合的堆栈,有没有办法可以复制堆栈,以便我可以通过弹出它来分析它的元素而不改变原始堆栈?例如,假设我有一个堆栈和代码如下:
import scala.collection.mutable.Stack
var stack1 = new Stack[Int]
/** Code that pushes integers on stack1*/
var stackCopy = stack1
while (!stackCopy.isEmpty) {
println(stackCopy.pop)
}
我想使用一个while循环来打印stack1中的所有元素。但是当我制作一个副本并弹出该副本时,原始堆栈(即stack1)也被更改了。我想保留原始堆栈,那么我怎样才能获取内容,而不是地址?