Java 堆栈上元素的反向顺序

Java 堆栈上元素的反向顺序,java,stack,Java,Stack,我有我的练习:使用一个额外的堆栈和一些额外的非数组变量反转堆栈上元素的顺序。我所做的是: public void reverse() { if (isEmpty()) { throw new EmptyStackException(); } while (!stack.isEmpty()) { stack1.push(stack.pop()); } stack = stack1; } 我使用了一个额外的堆栈(stack1)

我有我的练习:使用一个额外的堆栈和一些额外的非数组变量反转堆栈上元素的顺序。我所做的是:

public void reverse() {
    if (isEmpty()) {
        throw new EmptyStackException();
    }
    while (!stack.isEmpty()) {
        stack1.push(stack.pop());
    }
    stack = stack1;
}
我使用了一个额外的堆栈(stack1),在哪里可以使用额外的非数组变量?

试试这个

public void reverse() {
   Collections.reverse(stack);
}

我认为他想自己实现它,而不需要任何预定义的func.@duy-nguyen.se您所做的已经足够好了。您还想要什么?根据Java API文档,不应再使用堆栈。换成戴克。您可以访问数据块的两端。@aventurin感谢您提供的信息。为什么要在空堆栈上抛出异常?反转空堆栈只会生成空堆栈:
if(isEmpty())返回