我找不出这个方法做什么。有人可以解释吗?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