## Uses of Interface
java.lang.Iterable

Packages that use Iterable
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
`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
`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
`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
`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
`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
`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
`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
`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
`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
`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
`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
`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.
`Iterable<? extends Completion>` AbstractProcessor.`getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)` Returns an empty iterable of completions.

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

Methods in javax.lang.model.util with parameters of type Iterable
`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
`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
`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
`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
`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
`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
`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
`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
`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>` 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.
`Iterable<JavaFileObject>` ForwardingJavaFileManager.`list(JavaFileManager.Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)`

Methods in javax.tools with parameters of type Iterable
`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).