7. Как между собой связаны Iterable, Iterator и for-each?
UnknownИнтерфейс Iterable имеет только один метод - iterator(), который возвращает объект-Iterator.
Iterable<T> Iterator<T>iterator() Возвращает объект-итератор.
Класс Iterator отвечает за безопасный проход по списку элементов, имеет всего 3 метода:
- hasNext() — возвращает true или false в зависимости от того, есть ли в списке следующий элемент, или мы уже дошли до последнего.
- next() — возвращает следующий элемент списка
- remove() — удаляет элемент из списка
Классы, реализующие интерфейс Iterable, могут применяться в конструкции for-each, которая использует Iterator.
// Iterating over collection 'c' using Iterator
for (Iterator i = c.iterator(); i.hasNext(); )
System.out.println(i.next());
Предыдущий вопрос: 6. Чем различаются Enumeration (устаревший) и Iterator?
Следующий вопрос: 8. Можно ли итерируясь по ArrayList удалить элемент? Какое вылетит исключение?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку:напишите мне