首先,让我们了解Java中的for-each循环和iterator.hasNext()方法。
for-each循环是Java 5中引入的新特性,用于简化遍历集合的操作。它可以将迭代器Iterator对象替换为for-each循环,使代码更简洁和易于阅读。
在for-each循环中,可以使用增强型for循环或者普通for循环遍历集合。对于增强型for循环,可以在循环内部通过索引访问元素,而对于普通for循环,则无法在循环内部访问元素。
iterator.hasNext()是Iterator接口中的一个方法,用于检查迭代器是否还有下一个元素。在for-each循环中,可以使用iterator.hasNext()方法来检查是否还有下一个元素,如果还有,则返回true,否则返回false。
下面是一个使用for-each循环和iterator.hasNext()方法的示例代码:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
// 使用增强型for循环遍历列表
for (String item : list) {
System.out.println(item);
}
// 使用普通for循环遍历列表
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// 使用for-each循环遍历列表,并检查是否有下一个元素
for (String item : list) {
if (iterator.hasNext()) {
System.out.println(iterator.next());
} else {
System.out.println("列表中没有更多的元素");
}
}
}
}
输出:
A
B
C
A
B
C
在这个示例代码中,我们首先创建了一个包含三个元素的列表,并使用增强型for循环遍历列表。然后,我们使用普通for循环遍历列表,并使用iterator.hasNext()方法检查是否有下一个元素。最后,我们再次使用增强型for循环遍历列表,并检查是否有下一个元素。
需要注意的是,在使用for-each循环遍历列表时,必须确保迭代器已经初始化,否则会抛出ConcurrentModificationException异常。此外,使用for-each循环还可以避免使用索引访问元素时可能出现的索引越界错误。
领取专属 10元无门槛券
手把手带您无忧上云