📜  Java集合中next()和hasNext()方法的区别(1)

📅  最后修改于: 2023-12-03 15:02:07.164000             🧑  作者: Mango

Java集合中next()和hasNext()方法的区别

在Java集合中,next()hasNext()都是Iterator接口中的方法,这两个方法在使用Iterator遍历集合时非常常见。虽然这两个方法都与集合的迭代器有关,但它们各自具有不同的用途。

hasNext()

hasNext()方法是Iterator接口中的一个方法,它用于检查是否还有元素可以遍历。这个方法返回一个布尔值,当集合中还有元素可以遍历时返回true,否则返回false。在使用hasNext()方法时,通常在循环中使用while语句,判断集合是否还有元素可以遍历,如下所示:

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
    String fruit = iter.next();
    System.out.println(fruit);
}

在这个例子中,hasNext()方法被用于检查集合中是否还有元素可以遍历。只有当返回值为true时,才会进入循环体,并执行next()方法。

next()

next()方法也是Iterator接口中的一个方法,它用于获取集合中的下一个元素并将迭代器向后移动。如果没有更多的元素可以获取,next()方法将抛出NoSuchElementException异常。next()方法返回集合中的下一个元素,并移动迭代器的位置。在使用next()方法时,通常在while循环中使用。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
    String fruit = iter.next();
    System.out.println(fruit);
}

在这个例子中,next()方法用于获取下一个元素。只有当hasNext()方法返回值为true时,才会执行next()方法。

总结

hasNext()next()都是Iterator接口中的方法,它们用于遍历集合中的元素。hasNext()方法用于检查集合中是否还有更多的元素可以遍历,next()方法用于获取集合中的下一个元素并将迭代器向后移动。在使用Iterator遍历集合时,必须先使用hasNext()方法检查集合中是否还有更多的元素,然后再使用next()方法获取下一个元素。