我找不出這個方法做什麼。有人可以解釋嗎?ArrayList方法:iterator()
例子:
for (Iterator ite = list.iterator(); ite.hasNext();)
謝謝,我剛開始學習java。目前9年級。
我找不出這個方法做什麼。有人可以解釋嗎?ArrayList方法:iterator()
例子:
for (Iterator ite = list.iterator(); ite.hasNext();)
謝謝,我剛開始學習java。目前9年級。
它只是用一個迭代器「讀取」列表(如果你想在閱讀時從列表中移除元素,這很有用)。
您可以從迭代器獲取的元素
Item item = ite.next();
,如果你想從列表中刪除的項目,你可以做簡單的
ite.remove();
你也可以遍歷列表也更簡單了像
for (Item item : list) {
System.out.println(item.toString());
}
或
for (int i = 0; i<list.size(); i++) {
Item item = list.get(i);
System.out.println(item.toString());
}
但這些,如果你嘗試做list.remove(item)
或list.remove(i)
你會引發異常(ConcurrentModificationException的,如果我沒有錯)。
在一個非常基本的層次上,迭代器「遍歷」列表直到它結束。因此,在該方法中,您正在創建一個指向列表中的一個對象的對象。當您在迭代器上調用next()
時,它將移至列表中的下一個對象。當你在迭代器上調用hasNext()
時,你問的是迭代器是否有其他地方去,或者它是否在列表的末尾。如果迭代器具有next()
,則hasNext()
將返回true,否則返回false。
你可能要爲這樣的循環創建:
for (Iterator iter = list.iterator(); iter.hasNext(); iter.next())
其創建列表中的新的迭代器(第一個元素)。每次循環返回時,它都會調用iter.next()
,它使迭代器指向列表中的下一個元素。當你到達列表的末尾時,iter.hasNext()
不再是真實的,因此循環中斷。
總之,你只是創建一個循環遍歷列表的每個元素。
我不想投票給你,但谷歌的方法,並閱讀javadoc。說謝謝,並提供無用的信息被認爲是噪音,因爲它不能幫助你或我們。 –
這是一個'for'循環,像'for(initialization; termination; increment)' – nachokk