对于这种方法,我必须对链表堆栈进行浅表复制。
因此,首先我将初始化链接堆栈,然后使用for循环遍历值以复制堆栈。但是,以正确的顺序排列它们,我是否会有嵌套循环来反转一组值?
这是我到目前为止所得到的,我缺少什么吗?这会将堆栈中所有值的引用复制到另一个堆栈中。
LinkedStack<E> newStack = new LinkedStack<E>();
for(int i = 0; i < objectCount; i++){ //objectCount is figuring out the count
newStack.add[i] = newStack[i];
// do I have to put a for loop here?
return newStack;
}
最佳答案
如果所讨论的堆栈为this LinkedStack
,则与大多数集合一样,它具有一个复制构造函数和一个采用数组的构造函数。我从您的代码中看不到要克隆的原始堆栈/数组在哪里,但这可以通过以下操作轻松完成:
LinkedStack<E> newStack = new LinkedStack<E>(originalStack);