Интерфейс 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 loop").
- С момента:
- 1.5
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach(Consumer<? super T> action) |
Выполняет заданное действие для каждого элемента |
Iterator<T> |
iterator() |
Возвращает итератор по элементам типа |
default Spliterator<T> |
spliterator() |
Создаёт |
Методы
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.
- Требования к реализации:
- По умолчанию реализация создаёт early-binding-сплиттератор из
Iteratorитерабельного объекта. Сплиттератор наследует свойства fail-fast итератора итерабельного объекта. - Замечание реализации:
- Реализация по умолчанию обычно должна быть переопределена. Сплиттератор, возвращаемый реализацией по умолчанию, имеет плохие возможности разделения, не задан по размеру и не сообщает о характеристиках сплиттера. Реализующие классы почти всегда могут обеспечить лучшую реализацию.
- Возвращает:
Spliteratorпо элементам, описанным даннымIterable.- С момента:
- 1.8
© 1993, 2020, 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/11/docs/api/java.base/java/lang/Iterable.html