Метод next
Метод next возвращает следующий элемент
коллекции при итерации и сдвигает курсор
итератора вперед. Метод не принимает параметров.
Если элементов больше нет, метод выбрасывает
исключение NoSuchElementException. Перед
вызовом next обычно проверяют наличие
следующего элемента с помощью метода
hasNext.
Синтаксис
iterator.next()
Пример
Давайте создадим итератор для списка и последовательно получим все его элементы:
import java.util.Iterator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("a", "b", "c", "d", "e");
Iterator<String> iterator = list.iterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());
}
}
Результат выполнения кода:
"a"
"b"
"c"
Пример
Давайте переберем все элементы списка в цикле,
используя методы hasNext и next:
import java.util.Iterator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> list = List.of(1, 2, 3, 4, 5);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext())
{
int res = iterator.next();
System.out.println(res);
}
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте вызовем метод next больше раз,
чем элементов в списке, и получим исключение:
import java.util.Iterator;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> list = List.of("abcde");
Iterator<String> iterator = list.iterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
}
}
Результат выполнения кода:
"abcde"
Exception in thread "main" java.util.NoSuchElementException
Смотрите также
-
метод
hasNext,
который проверяет наличие следующего элемента -
метод
remove,
который удаляет текущий элемент -
метод
forEachRemaining,
который применяет действие к оставшимся элементам -
интерфейс
Iterator,
который представляет итератор по коллекции