Spec-Zone.ru › OpenJDK 17

Интерфейс 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(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 итератора. Разделитель наследует свойства быстрого отказа итератора.
Примечание к реализации:
Реализация по умолчанию обычно должна быть переопределена. Разделитель, возвращаемый реализацией по умолчанию, имеет слабые возможности разделения, не размечен и не сообщает о каких-либо характеристиках разделителя. Реализующие классы почти всегда могут предоставить лучшую реализацию.
Возвращает:
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

Spec-Zone.ru

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