Интерфейс 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 (иногда называемого оператором цикла «для каждого»).- См. Спецификацию языка Java:
- 14.14.2 Оператор расширенного
for
- Начиная с версии:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение. |
Iterator |
iterator() |
Возвращает итератор по элементам типа T. |
default Spliterator |
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Iterable.html