Spec-Zone.ru › OpenJDK 24

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

Параметры типа:
T - тип элементов, возвращаемых итератором
Все известные подинтерфейсы:
BeanContext, BeanContextServices, BlockingDeque<E>, BlockingQueue<E>, ClassModel, ClassReader, CodeAttribute, CodeModel, Collection<E>, CompoundElement<E>, ConstantPool, ConstantPoolBuilder, Deque<E>, DirectoryStream<T>, EventSet, FieldModel, List<E>, MethodModel, NavigableSet<E>, NodeSetData<T>, Path, Queue<E>, SecureDirectoryStream<T>, SequencedCollection<E>, SequencedSet<E>, 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").
См. Спецификацию языка Java:
14.14.2 Улучшенный оператор for
С:
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.
Требования к реализации:
По умолчанию реализация создаёт ранне-связанный итератор из Iterator итерабельного объекта. Итератор наследует свойства fail-fast итератора итерабельного объекта.
Примечание к реализации:
Реализация по умолчанию обычно должна быть переопределена. Итератор, возвращаемый реализацией по умолчанию, имеет плохие возможности разбиения, не является размеченным и не сообщает о каких-либо характеристиках итератора. Реализующие классы почти всегда могут предоставить лучшую реализацию.
Возвращает:
Spliterator по элементам, описанным этим Iterable.
С:
1.8

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Iterable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API