我有这段代码:
for (int j = 0; j < 7; j++) {
if (failureCountAndDUrls.urls.iterator().hasNext()) {
P p2 = new P().appendText("First "+min+" of "+failureCountAndDUrls.count+":");
String id = failureCountAndDUrls.urls.iterator().next();
}
}
urls
是Set<String>
然而.next();
一遍又一遍地返回相同的项目。即使有7个项目
如何正确迭代所有项目?
答案 0 :(得分:9)
问题是你每次都在创建一个新的迭代器,每个新的迭代器都有相同的初始状态。
重新使用迭代器。
Iterator<String> it = failureCountAndDUrls.urls.iterator();
for (int j = 0; j < 7; j++) {
if (it.hasNext()) {
P p2 = new P().appendText("First "+min+" of "+failureCountAndDUrls.count+":");
String id = it.next();
}
}