Интерфейс 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").- См. Спецификацию языка Java:
- 14.14.2 Оператор расширенного
for
- С:
- 1.5
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default void | forEach | Выполняет заданное действие для каждого элемента 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итератора. Разделитель наследует свойства быстрого отказа итератора. - Примечание к реализации:
- Реализация по умолчанию обычно должна быть переопределена. Разделитель, возвращаемый реализацией по умолчанию, имеет слабые возможности разделения, не размечен и не сообщает о каких-либо характеристиках разделителя. Реализующие классы почти всегда могут предоставить лучшую реализацию.
- Возвращает:
Spliteratorнад элементами, описанными этимIterable.- С:
- 1.8
© 1993, 2021, 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/17/docs/api/java.base/java/lang/Iterable.html