【发布时间】:2016-05-06 15:41:40
【问题描述】:
我目前正在尝试找出最有效的方法,实现迭代器或 for each 循环。
将被遍历的对象是一个类'Graph',它由一个子类'Graph.Vertex'扩展。什么应该是最节省时间的,使用迭代器或 for each 循环遍历对象:
Graph.iterator();
while (Graph.iterator().hasNext()) {
// Do something
}
对比
for (Graph.Vertex v : Graph {
// Do something
}
【问题讨论】:
-
同样,for-each 循环在底层使用迭代器。
-
正如@azurefrog 提到的,两者应该有相似的运行时间。话虽这么说,直接使用迭代器可能允许您在迭代期间进行删除,而 for each 则不会。
标签: java