Интерфейс 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 |
Выполняет заданное действие для каждого элемента 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Iterable.html