Интерфейс Iterable<T>

Параметры типа:
T - тип элементов, возвращаемых итератором
Все известные подинтерфейсы:
BeanContext, BeanContextServices, BlockingDeque<E>, BlockingQueue<E>, Collection<E>, Deque<E>, DirectoryStream<T>, EventSet, List<E>, NavigableSet<E>, NodeSetData<T>, Path, Queue<E>, SecureDirectoryStream<T>, Set<E>, SortedSet<E>, TransferQueue<E>, XPathNodes
Все известные реализующие классы:
AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayDeque, ArrayList, AttributeList, BatchUpdateException, BeanContextServicesSupport, BeanContextSupport, ConcurrentHashMap.KeySetView, ConcurrentLinkedDeque, ConcurrentLinkedQueue, ConcurrentSkipListSet, CopyOnWriteArrayList, CopyOnWriteArraySet, DataTruncation, DelayQueue, DocTreePath, EnumSet, HashSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue, LinkedHashSet, LinkedList, LinkedTransferQueue, PriorityBlockingQueue, PriorityQueue, RoleList, RoleUnresolvedList, RowSetWarning, SerialException, ServiceLoader, SQLClientInfoException, SQLDataException, SQLException, SQLFeatureNotSupportedException, SQLIntegrityConstraintViolationException, SQLInvalidAuthorizationSpecException, SQLNonTransientConnectionException, SQLNonTransientException, SQLRecoverableException, SQLSyntaxErrorException, SQLTimeoutException, SQLTransactionRollbackException, SQLTransientConnectionException, SQLTransientException, SQLWarning, Stack, SyncFactoryException, SynchronousQueue, SyncProviderException, TreePath, TreeSet, Vector
public interface Iterable<T>

Реализация этого интерфейса позволяет объекту быть целевым объектом для расширенного оператора for (иногда называемого оператором "for-each loop").

С момента:
1.5

Методы

Модификатор и тип Метод Описание
default void forEach​(Consumer<? super T> action)

Выполняет заданное действие для каждого элемента Iterable до тех пор, пока все элементы не будут обработаны или действие не выбросит исключение.

Iterator<T> iterator()

Возвращает итератор по элементам типа T.

default Spliterator<T> spliterator()

Создаёт Spliterator по элементам, описанным данным Iterable.

Методы

iterator

Iterator<T> iterator()

Возвращает итератор по элементам типа T.

Возвращает:
итератор.

forEach

default void forEach(Consumer<? super T> action)

Выполняет заданное действие для каждого элемента Iterable до тех пор, пока все элементы не будут обработаны или действие не выбросит исключение. Действия выполняются в порядке итерации, если этот порядок указан. Исключения, сгенерированные действием, передаются вызывающему методу.

Поведение этого метода не определено, если действие выполняет побочные эффекты, которые изменяют исходный источник элементов, если только переопределяющий класс не указал политику одновременного изменения.

Требования к реализации:

По умолчанию реализация ведет себя так, как если бы:

for (T t : this)
         action.accept(t);
Параметры:
action - Действие, выполняемое для каждого элемента
Исключения:
NullPointerException - если заданное действие равно null
С момента:
1.8

spliterator

default Spliterator<T> spliterator()

Создаёт Spliterator по элементам, описанным этим Iterable.

Требования к реализации:
По умолчанию реализация создаёт early-binding-сплиттератор из Iterator итерабельного объекта. Сплиттератор наследует свойства fail-fast итератора итерабельного объекта.
Замечание реализации:
Реализация по умолчанию обычно должна быть переопределена. Сплиттератор, возвращаемый реализацией по умолчанию, имеет плохие возможности разделения, не задан по размеру и не сообщает о характеристиках сплиттера. Реализующие классы почти всегда могут обеспечить лучшую реализацию.
Возвращает:
Spliterator по элементам, описанным данным Iterable.
С момента:
1.8

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html

Spec-Zone .ru
спецификации, руководства, описания, API