- 类型参数:
-
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>
,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
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
对Iterable
的每个元素执行给定操作,直到所有元素都已处理完或操作引发异常。iterator()
返回一个元素类型为T
的迭代器。default Spliterator
<T> 创建一个Iterable
描述的元素的Spliterator
。
-
Method Details
-
iterator
返回一个元素类型为T
的迭代器。- 返回:
- 一个迭代器。
-
forEach
对Iterable
的每个元素执行给定操作,直到所有元素都已处理完或操作引发异常。如果指定了顺序,则按迭代顺序执行操作。操作引发的异常将传递给调用者。如果操作执行会修改元素的底层源的副作用,则此方法的行为是未指定的,除非覆盖类已指定了并发修改策略。
- 实现要求:
-
默认实现的行为如下:
for (T t : this) action.accept(t);
- 参数:
-
action
- 每个元素要执行的操作 - 抛出:
-
NullPointerException
- 如果指定的操作为null - 自从:
- 1.8
-
spliterator
创建一个由这个Iterable
描述的元素上的Spliterator
。- 实现要求:
-
默认实现从可迭代对象的
Iterator
创建一个早期绑定的分割迭代器。该分割迭代器继承了可迭代对象迭代器的快速失败属性。 - 实现注意:
- 默认实现通常应该被重写。默认实现返回的分割迭代器具有较差的分割能力,没有固定大小,并且不报告任何分割迭代器特性。实现类几乎总是可以提供更好的实现。
- 返回:
-
一个由这个
Iterable
描述的元素上的Spliterator
。 - 自从:
- 1.8
-