Uses of Interface java.lang.Iterable (Java Platform SE 8 )
Date: 2026-04-17

## Uses of Interface
java.lang.Iterable

- Packages that use Iterable
  Package | Description
  --- | ---
  java.beans.beancontext | Provides classes and interfaces relating to bean context.
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.nio.file | Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
  java.sql | Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
  java.util | Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
  java.util.concurrent | Utility classes commonly useful in concurrent programming.
  javax.annotation.processing | Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
  javax.lang.model.util | Utilities to assist in the processing of program elements and types.
  javax.management | Provides the core classes for the Java Management Extensions.
  javax.management.relation | Provides the definition of the Relation Service.
  javax.print.attribute.standard | Package javax.print.attribute.standard contains classes for specific printing attributes.
  javax.sql.rowset | Standard interfaces and base classes for JDBC `RowSet` implementations.
  javax.sql.rowset.serial | Provides utility classes to allow serializable mappings between SQL types and data types in the Java programming language.
  javax.sql.rowset.spi | The standard classes and interfaces that a third party vendor has to use in its implementation of a synchronization provider.
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
  javax.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.

- - ### Uses of Iterable in java.beans.beancontext

    Subinterfaces of Iterable in java.beans.beancontext
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BeanContext` The BeanContext acts a logical hierarchical container for JavaBeans.
    `interface` | `BeanContextServices` The BeanContextServices interface provides a mechanism for a BeanContext to expose generic "services" to the BeanContextChild objects within.

    Classes in java.beans.beancontext that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BeanContextServicesSupport` This helper class provides a utility implementation of the java.beans.beancontext.BeanContextServices interface.
    `class` | `BeanContextSupport` This helper class provides a utility implementation of the java.beans.beancontext.BeanContext interface.

  - ### Uses of Iterable in java.lang

    Methods in java.lang with parameters of type Iterable
    Modifier and Type | Method and Description
    --- | ---
    `static String` | String.`join(CharSequence delimiter, Iterable<? extends CharSequence> elements)` Returns a new `String` composed of copies of the `CharSequence elements` joined together with a copy of the specified `delimiter`.

  - ### Uses of Iterable in java.nio.file

    Subinterfaces of Iterable in java.nio.file
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `DirectoryStream<T>` An object to iterate over the entries in a directory.
    `interface` | `Path` An object that may be used to locate a file in a file system.
    `interface` | `SecureDirectoryStream<T>` A `DirectoryStream` that defines operations on files that are located relative to an open directory.

    Methods in java.nio.file that return Iterable
    Modifier and Type | Method and Description
    --- | ---
    `abstract Iterable<FileStore>` | FileSystem.`getFileStores()` Returns an object to iterate over the underlying file stores.
    `abstract Iterable<Path>` | FileSystem.`getRootDirectories()` Returns an object to iterate over the paths of the root directories.

    Methods in java.nio.file with parameters of type Iterable
    Modifier and Type | Method and Description
    --- | ---
    `static Path` | Files.`write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options)` Write lines of text to a file.
    `static Path` | Files.`write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options)` Write lines of text to a file.

  - ### Uses of Iterable in java.sql

    Classes in java.sql that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BatchUpdateException` The subclass of `SQLException` thrown when an error occurs during a batch update operation.
    `class` | `DataTruncation` An exception thrown as a `DataTruncation` exception (on writes) or reported as a `DataTruncation` warning (on reads) when a data values is unexpectedly truncated for reasons other than its having exceeded `MaxFieldSize`.
    `class` | `SQLClientInfoException` The subclass of `SQLException` is thrown when one or more client info properties could not be set on a `Connection`.
    `class` | `SQLDataException` The subclass of `SQLException` thrown when the SQLState class value is '22', or under vendor-specified conditions.
    `class` | `SQLException` An exception that provides information on a database access error or other errors.
    `class` | `SQLFeatureNotSupportedException` The subclass of `SQLException` thrown when the SQLState class value is '0A' ( the value is 'zero' A).
    `class` | `SQLIntegrityConstraintViolationException` The subclass of `SQLException` thrown when the SQLState class value is '23', or under vendor-specified conditions.
    `class` | `SQLInvalidAuthorizationSpecException` The subclass of `SQLException` thrown when the SQLState class value is '28', or under vendor-specified conditions.
    `class` | `SQLNonTransientConnectionException` The subclass of `SQLException` thrown for the SQLState class value '08', or under vendor-specified conditions.
    `class` | `SQLNonTransientException` The subclass of `SQLException` thrown when an instance where a retry of the same operation would fail unless the cause of the `SQLException` is corrected.
    `class` | `SQLRecoverableException` The subclass of `SQLException` thrown in situations where a previously failed operation might be able to succeed if the application performs some recovery steps and retries the entire transaction or in the case of a distributed transaction, the transaction branch.
    `class` | `SQLSyntaxErrorException` The subclass of `SQLException` thrown when the SQLState class value is '42', or under vendor-specified conditions.
    `class` | `SQLTimeoutException` The subclass of `SQLException` thrown when the timeout specified by `Statement.setQueryTimeout`, `DriverManager.setLoginTimeout`, `DataSource.setLoginTimeout`,`XADataSource.setLoginTimeout` has expired.
    `class` | `SQLTransactionRollbackException` The subclass of `SQLException` thrown when the SQLState class value is '40', or under vendor-specified conditions.
    `class` | `SQLTransientConnectionException` The subclass of `SQLException` for the SQLState class value '08', or under vendor-specified conditions.
    `class` | `SQLTransientException` The subclass of `SQLException` is thrown in situations where a previously failed operation might be able to succeed when the operation is retried without any intervention by application-level functionality.
    `class` | `SQLWarning` An exception that provides information on database access warnings.

  - ### Uses of Iterable in java.util

    Subinterfaces of Iterable in java.util
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Collection<E>` The root interface in the collection hierarchy.
    `interface` | `Deque<E>` A linear collection that supports element insertion and removal at both ends.
    `interface` | `List<E>` An ordered collection (also known as a sequence).
    `interface` | `NavigableSet<E>` A `SortedSet` extended with navigation methods reporting closest matches for given search targets.
    `interface` | `Queue<E>` A collection designed for holding elements prior to processing.
    `interface` | `Set<E>` A collection that contains no duplicate elements.
    `interface` | `SortedSet<E>` A `Set` that further provides a total ordering on its elements.

    Classes in java.util that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractCollection<E>` This class provides a skeletal implementation of the `Collection` interface, to minimize the effort required to implement this interface.
    `class` | `AbstractList<E>` This class provides a skeletal implementation of the `List` interface to minimize the effort required to implement this interface backed by a "random access" data store (such as an array).
    `class` | `AbstractQueue<E>` This class provides skeletal implementations of some `Queue` operations.
    `class` | `AbstractSequentialList<E>` This class provides a skeletal implementation of the `List` interface to minimize the effort required to implement this interface backed by a "sequential access" data store (such as a linked list).
    `class` | `AbstractSet<E>` This class provides a skeletal implementation of the `Set` interface to minimize the effort required to implement this interface.
    `class` | `ArrayDeque<E>` Resizable-array implementation of the `Deque` interface.
    `class` | `ArrayList<E>` Resizable-array implementation of the `List` interface.
    `class` | `EnumSet<E extends Enum<E>>` A specialized `Set` implementation for use with enum types.
    `class` | `HashSet<E>` This class implements the `Set` interface, backed by a hash table (actually a `HashMap` instance).
    `class` | `LinkedHashSet<E>` Hash table and linked list implementation of the `Set` interface, with predictable iteration order.
    `class` | `LinkedList<E>` Doubly-linked list implementation of the `List` and `Deque` interfaces.
    `class` | `PriorityQueue<E>` An unbounded priority queue based on a priority heap.
    `class` | `ServiceLoader<S>` A simple service-provider loading facility.
    `class` | `Stack<E>` The `Stack` class represents a last-in-first-out (LIFO) stack of objects.
    `class` | `TreeSet<E>` A `NavigableSet` implementation based on a `TreeMap`.
    `class` | `Vector<E>` The `Vector` class implements a growable array of objects.

  - ### Uses of Iterable in java.util.concurrent

    Subinterfaces of Iterable in java.util.concurrent
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `BlockingDeque<E>` A `Deque` that additionally supports blocking operations that wait for the deque to become non-empty when retrieving an element, and wait for space to become available in the deque when storing an element.
    `interface` | `BlockingQueue<E>` A `Queue` that additionally supports operations that wait for the queue to become non-empty when retrieving an element, and wait for space to become available in the queue when storing an element.
    `interface` | `TransferQueue<E>` A `BlockingQueue` in which producers may wait for consumers to receive elements.

    Classes in java.util.concurrent that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ArrayBlockingQueue<E>` A bounded blocking queue backed by an array.
    `static class` | `ConcurrentHashMap.KeySetView<K,V>` A view of a ConcurrentHashMap as a `Set` of keys, in which additions may optionally be enabled by mapping to a common value.
    `class` | `ConcurrentLinkedDeque<E>` An unbounded concurrent deque based on linked nodes.
    `class` | `ConcurrentLinkedQueue<E>` An unbounded thread-safe queue based on linked nodes.
    `class` | `ConcurrentSkipListSet<E>` A scalable concurrent `NavigableSet` implementation based on a `ConcurrentSkipListMap`.
    `class` | `CopyOnWriteArrayList<E>` A thread-safe variant of `ArrayList` in which all mutative operations (`add`, `set`, and so on) are implemented by making a fresh copy of the underlying array.
    `class` | `CopyOnWriteArraySet<E>` A `Set` that uses an internal `CopyOnWriteArrayList` for all of its operations.
    `class` | `DelayQueue<E extends Delayed>` An unbounded blocking queue of `Delayed` elements, in which an element can only be taken when its delay has expired.
    `class` | `LinkedBlockingDeque<E>` An optionally-bounded blocking deque based on linked nodes.
    `class` | `LinkedBlockingQueue<E>` An optionally-bounded blocking queue based on linked nodes.
    `class` | `LinkedTransferQueue<E>` An unbounded `TransferQueue` based on linked nodes.
    `class` | `PriorityBlockingQueue<E>` An unbounded blocking queue that uses the same ordering rules as class `PriorityQueue` and supplies blocking retrieval operations.
    `class` | `SynchronousQueue<E>` A blocking queue in which each insert operation must wait for a corresponding remove operation by another thread, and vice versa.

  - ### Uses of Iterable in javax.annotation.processing

    Methods in javax.annotation.processing that return Iterable
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<? extends Completion>` | AbstractProcessor.`getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)` Returns an empty iterable of completions.
    `Iterable<? extends Completion>` | Processor.`getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)` Returns to the tool infrastructure an iterable of suggested completions to an annotation.

  - ### Uses of Iterable in javax.lang.model.util

    Methods in javax.lang.model.util with parameters of type Iterable
    Modifier and Type | Method and Description
    --- | ---
    `static List<ExecutableElement>` | ElementFilter.`constructorsIn(Iterable<? extends Element> elements)` Returns a list of constructors in `elements`.
    `static List<VariableElement>` | ElementFilter.`fieldsIn(Iterable<? extends Element> elements)` Returns a list of fields in `elements`.
    `static List<ExecutableElement>` | ElementFilter.`methodsIn(Iterable<? extends Element> elements)` Returns a list of methods in `elements`.
    `static List<PackageElement>` | ElementFilter.`packagesIn(Iterable<? extends Element> elements)` Returns a list of packages in `elements`.
    `R` | ElementScanner6.`scan(Iterable<? extends Element> iterable, P p)` Iterates over the given elements and calls `scan(Element, P)` on each one.
    `static List<TypeElement>` | ElementFilter.`typesIn(Iterable<? extends Element> elements)` Returns a list of types in `elements`.

  - ### Uses of Iterable in javax.management

    Classes in javax.management that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AttributeList` Represents a list of values for attributes of an MBean.

  - ### Uses of Iterable in javax.management.relation

    Classes in javax.management.relation that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RoleList` A RoleList represents a list of roles (Role objects).
    `class` | `RoleUnresolvedList` A RoleUnresolvedList represents a list of RoleUnresolved objects, representing roles not retrieved from a relation due to a problem encountered when trying to access (read or write) the roles.

  - ### Uses of Iterable in javax.print.attribute.standard

    Classes in javax.print.attribute.standard that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JobStateReasons` Class JobStateReasons is a printing attribute class, a set of enumeration values, that provides additional information about the job's current state, i.e., information that augments the value of the job's `JobState` attribute.

  - ### Uses of Iterable in javax.sql.rowset

    Classes in javax.sql.rowset that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RowSetWarning` An extension of `SQLException` that provides information about database warnings set on `RowSet` objects.

  - ### Uses of Iterable in javax.sql.rowset.serial

    Classes in javax.sql.rowset.serial that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SerialException` Indicates and an error with the serialization or de-serialization of SQL types such as `BLOB, CLOB, STRUCT or ARRAY` in addition to SQL types such as `DATALINK and JAVAOBJECT`

  - ### Uses of Iterable in javax.sql.rowset.spi

    Classes in javax.sql.rowset.spi that implement Iterable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SyncFactoryException` Indicates an error with `SyncFactory` mechanism.
    `class` | `SyncProviderException` Indicates an error with the `SyncProvider` mechanism.

  - ### Uses of Iterable in javax.swing

    Methods in javax.swing with parameters of type Iterable
    Modifier and Type | Method and Description
    --- | ---
    `static <M,I> RowFilter<M,I>` | RowFilter.`andFilter(Iterable<? extends RowFilter<? super M,? super I>> filters)` Returns a `RowFilter` that includes entries if all of the supplied filters include the entry.
    `static <M,I> RowFilter<M,I>` | RowFilter.`orFilter(Iterable<? extends RowFilter<? super M,? super I>> filters)` Returns a `RowFilter` that includes entries if any of the supplied filters includes the entry.

  - ### Uses of Iterable in javax.tools

    Methods in javax.tools that return Iterable
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjects(File... files)` Gets file objects representing the given files.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjects(String... names)` Gets file objects representing the given file names.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromFiles(Iterable<? extends File> files)` Gets file objects representing the given files.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromStrings(Iterable<String> names)` Gets file objects representing the given file names.
    `Iterable<? extends File>` | StandardJavaFileManager.`getLocation(JavaFileManager.Location location)` Gets the path associated with the given location.
    `Iterable<JavaFileObject>` | ForwardingJavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)`
    `Iterable<JavaFileObject>` | JavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)` Lists all file objects matching the given criteria in the given location.

    Methods in javax.tools with parameters of type Iterable
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromFiles(Iterable<? extends File> files)` Gets file objects representing the given files.
    `Iterable<? extends JavaFileObject>` | StandardJavaFileManager.`getJavaFileObjectsFromStrings(Iterable<String> names)` Gets file objects representing the given file names.
    `DocumentationTool.DocumentationTask` | DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
    `DocumentationTool.DocumentationTask` | DocumentationTool.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Class<?> docletClass, Iterable<String> options, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a documentation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.
    `JavaCompiler.CompilationTask` | JavaCompiler.`getTask(Writer out, JavaFileManager fileManager, DiagnosticListener<? super JavaFileObject> diagnosticListener, Iterable<String> options, Iterable<String> classes, Iterable<? extends JavaFileObject> compilationUnits)` Creates a future for a compilation task with the given components and arguments.
    `void` | StandardJavaFileManager.`setLocation(JavaFileManager.Location location, Iterable<? extends File> path)` Associates the given path with the given location.
    `void` | JavaCompiler.CompilationTask.`setProcessors(Iterable<? extends Processor> processors)` Sets processors (for annotation processing).

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.