模块 java.base
 java.lang

接口 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 的每个元素执行给定的操作,直到处理完所有元素或操作引发异常。
    返回类型为 T 的元素的迭代器。
    default Spliterator<T>
    在这个 Iterable 描述的元素上创建一个 Spliterator
  • 方法详情

    • iterator

      Iterator <T > iterator()
      返回类型为 T 的元素的迭代器。
      返回:
      一个迭代器。
    • forEach

      default void forEach(Consumer <? super T > action)
      Iterable 的每个元素执行给定的操作,直到处理完所有元素或操作引发异常。如果指定了迭代顺序,则将按迭代顺序执行操作。操作抛出的异常被转发给调用者。

      如果操作执行修改元素的底层源的副作用,则此方法的行为是未指定的,除非重写类已指定并发修改策略。

      实现要求:

      默认实现的行为就像:

      
         for (T t : this)
           action.accept(t);
        
      参数:
      action - 对每个元素执行的操作
      抛出:
      NullPointerException - 如果指定的操作为空
      自从:
      1.8
    • spliterator

      default Spliterator <T > spliterator()
      在这个 Iterable 描述的元素上创建一个 Spliterator
      实现要求:
      默认实现从可迭代的 Iterator 创建一个 early-binding 拆分器。拆分器继承了迭代器迭代器的 fail-fast 属性。
      实现注意事项:
      通常应该重写默认实现。默认实现返回的拆分器具有较差的拆分能力,未确定大小,并且不报告任何拆分器特征。实现类几乎总能提供更好的实现。
      返回:
      a Spliterator 覆盖了这个 Iterable 描述的元素。
      自从:
      1.8