- 类型参数:
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
对Iterable
的每个元素执行给定的操作,直到处理完所有元素或操作引发异常。iterator()
返回类型为T
的元素的迭代器。default Spliterator<T>
在这个Iterable
描述的元素上创建一个Spliterator
。
-
方法详情
-
iterator
返回类型为T
的元素的迭代器。- 返回:
- 一个迭代器。
-
forEach
对Iterable
的每个元素执行给定的操作,直到处理完所有元素或操作引发异常。如果指定了迭代顺序,则将按迭代顺序执行操作。操作抛出的异常被转发给调用者。如果操作执行修改元素的底层源的副作用,则此方法的行为是未指定的,除非重写类已指定并发修改策略。
- 实现要求:
-
默认实现的行为就像:
for (T t : this) action.accept(t);
- 参数:
action
- 对每个元素执行的操作- 抛出:
NullPointerException
- 如果指定的操作为空- 自从:
- 1.8
-
spliterator
在这个Iterable
描述的元素上创建一个Spliterator
。- 实现要求:
-
默认实现从可迭代的
Iterator
创建一个 early-binding 拆分器。拆分器继承了迭代器迭代器的 fail-fast 属性。 - 实现注意事项:
- 通常应该重写默认实现。默认实现返回的拆分器具有较差的拆分能力,未确定大小,并且不报告任何拆分器特征。实现类几乎总能提供更好的实现。
- 返回:
-
a
Spliterator
覆盖了这个Iterable
描述的元素。 - 自从:
- 1.8
-