モジュール 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の各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。
    Iterator<T> iterator()
    Tの要素のイテレータを返します。
    default Spliterator<T> spliterator()
    この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 - 指定されたアクションがnullである場合
      導入されたバージョン:
      1.8
    • spliterator

      default Spliterator<T> spliterator()
      このIterableによって記述される要素に対するSpliteratorを作成します。
      実装要件:
      デフォルト実装では、反復可能オブジェクトのIteratorから早期バインディングのスプリッテレータを作成します。 そのスプリッテレータは、その反復可能オブジェクトのイテレータのフェイルファスト特性を継承します。
      実装上のノート:
      デフォルト実装は通常、オーバーライドする必要があります。 デフォルト実装から返されるスプリッテレータは分割機能が貧弱であり、それぞれに合ったサイズがないため、スプリッテレータの特性がまったく生かされません。 クラスを実装することで、より良い実装を提供できることがほとんどです。
      戻り値:
      このIterableによって記述される要素に対するSpliterator
      導入されたバージョン:
      1.8