Да и нет.Это зависит от реализации интерфейса Iterable<T>
.
Обычно он должен возвращать новый экземпляр класса, который реализует интерфейс Iterable, класс AbstractList реализует это следующим образом:
public Iterator<E> iterator() {
return new Itr(); //Where Itr is an internal private class that implement Itrable<T>
}
ЕслиВы используете стандартные классы Java. Вы можете ожидать, что это будет сделано таким образом.
В противном случае вы можете выполнить простой тест, вызвав iterator()
из объекта, а затем перебрать сначала и после этого второго, если они зависят, второе не должно давать никакого результата.Но это очень маловероятно.