我试图通过以下方式使用迭代器遍历堆栈:
Iterator it = stack.iterator();
while(it.hasNext())
System.out.print(it.next()+"\t");
我刚刚注意到它以相反的顺序进行迭代。是因为迭代器总是指向集合的开始(在这种情况下,迭代器指向向量的状态)。
N.B: 我知道以下代码将为堆栈操作提供适当的输出。我对迭代器的行为感到好奇。
Iterator it2 = stack.iterator();
while(it2.hasNext())
System.out.print(stack.pop()+"\t");