java - 为什么堆栈迭代器以相反的顺序工作?
问题描述
我试图通过以下方式使用迭代器迭代堆栈:
Iterator it = stack.iterator();
while(it.hasNext())
System.out.print(it.next()+"\t");
我刚刚注意到它以相反的顺序迭代。是不是因为迭代器总是指向集合的开始(对于这种情况,迭代器指向向量的声明)。
注意:我知道下面的代码将为堆栈操作提供正确的输出。我对迭代器的行为很好奇。
Iterator it2 = stack.iterator();
while(it2.hasNext())
System.out.print(stack.pop()+"\t");
解决方案
推荐阅读
- scala - Scala中每个参数的单独构造函数
- java - Java - 按特定顺序迭代生成 powerset
- java - 跨活动发送动态文本输入
- c# - 尝试运行桌面扩展应用程序时在 UWP (C#) 中“访问被拒绝”
- docker - 将容器端口分配给本地端口似乎无法正常工作?
- python - 从一年的数据中为每个月编写 CSV 文件
- javascript - 单击时删除图标
- java - 如何将 iBatis(myBatis) 框架连接到 IBM AS/400 (iSeries)
- excel - 如何仅使用用户表单使共享工作簿可编辑?
- reactjs - 当我在 tsx 中使用交集类型时,它被破坏了。如何解决