La interfaz iterable se introdujo en JDK 1.5. Pertenece al paquete java.lang . En general, un objeto que implementa Iterable permite iterarlo. Una interfaz iterable permite que un objeto sea el objetivo de un bucle for mejorado (bucle for-each).
Definición de iterable
public interface Iterable<T> { Iterator<T> iterator(); Spliterator<T> spliterator(); void forEach(Consumer<? super T> action); }
Aquí, T es el tipo de elemento devuelto por el iterador.
Formas de iterar
Hay tres formas en que se pueden iterar los objetos de Iterable .
- Usar bucle for mejorado (bucle for-each)
- Usando iterable forEach bucle
- Uso de la interfaz Iterator<T>
Iterar un Iterable usando mejorado for loop
Los objetos de las clases que implementan la interfaz de colección se pueden iterar mediante el bucle for-each , la interfaz de colección amplía la interfaz iterable.
Java
// Java Program to demonstrate iterate // an iterable using for-each loop import java.io.*; import java.util.*; class IterateUsingEnhancedForLoop { public static void main (String[] args) { // create a list List<String> list = new ArrayList<String>(); // add elements list.add("Geeks"); list.add("for"); list.add("Geeks"); // Iterate through the list for( String element : list ){ System.out.println( element ); } } }
Geeks for Geeks
Iterar un Iterable usando forEach loop
El método forEach() toma la expresión Lambda como parámetro. Esta expresión Lambda se llama para cada elemento de la colección. En el siguiente ejemplo, para cada elemento de la lista, la función imprime el elemento en la consola.
Java
// Java Program to demonstrate iterate // an Iterable using forEach method import java.io.*; import java.util.*; class IterateUsingforEach { public static void main(String[] args) { // create a list List<String> list = new ArrayList<>(); // add elements to the list list.add("Geeks"); list.add("for"); list.add("Geeks"); // Iterate through the list list.forEach( (element) -> { System.out.println(element); }); } }
Geeks for Geeks
Iterar un Iterable usando Iterator
Podemos iterar los elementos de Java Iterable obteniendo el iterador de él usando el método iterator() .
Los métodos utilizados al atravesar las colecciones usando Iterator para realizar las operaciones son:
- hasNext() : Devuelve falso si hemos llegado al final de la colección, en caso contrario devuelve verdadero.
- next() : Devuelve el siguiente elemento de una colección.
- remove() : elimina el último elemento devuelto por el iterador de la colección.
- forEachRemaining() : realiza la acción dada para cada elemento restante en una colección, en orden secuencial.
Java
// Java Program to demonstrate iterate // an Iterable using an Iterator import java.io.*; import java.util.*; class IterateUsingIterator { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Geeks"); list.add("for"); list.add("Geeks"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String element = iterator.next(); System.out.println(element); } } }
Geeks for Geeks
Métodos de Iterable
MÉTODO |
DESCRIPCIÓN |
---|---|
forEach(Consumidor<? super T> acción) | Realiza la acción dada para cada elemento del iterable hasta que se hayan procesado todos los elementos o la acción genere una excepción. |
iterador() | Devuelve un iterador sobre elementos de tipo T. |
divisor() | Crea un Spliterator sobre los elementos descritos por este Iterable. |
Debe leer
Referencia: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html
Publicación traducida automáticamente
Artículo escrito por Ganeshchowdharysadanala y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA