Iterator中hasNext()的死循環

今天朋友說寫了個死循環 我看了看以爲不會呀code

List list = new ArrayList();
list.add("aaa");
list.add("bbb");
Iterator ite = list.iterator();
while(ite.hasNext()){
System.out.println(------);
}

她說確實是死循環 ,我就仔細看了一下,發現while的條件不太對勁, 官方給出 輸入圖片說明 hasNext():若是至少有一個元素返回true,不然假 next():返回下一個元素並將迭代器向前推動圖片

也就是hasNext(),並不會向下一個元素移動,因此以上程序會一直返回true,陷入死循環 只要在while的方法體裏面加入next(),遊標迴向下個元素推動,到最後一個元素之後就會跳出。it

相關文章
相關標籤/搜索