Java : Iterable con ejemplos
Iterable (Java SE 22 & JDK 22) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de Iterable<T>.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
La implementación de esta interfaz permite que un objeto sea el objetivo de la declaración for mejorada (a veces llamada declaración "de bucle for-each"). (Traducción automática)
public class Sample implements Iterable<String> {
private static final String[] VALUES = {"aaa", "bbb", "ccc"};
private int index;
@Override
public Iterator<String> iterator() {
return new Iterator<>() {
@Override
public boolean hasNext() {
return VALUES.length != index;
}
@Override
public String next() {
final var value = VALUES[index];
index++;
return value;
}
};
}
}
final var sample = new Sample();
for (final var s : sample) {
System.out.println(s);
}
// Result
// ↓
//aaa
//bbb
//ccc
Methods
default void forEach (Consumer<? super T> action)
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. (Traducción automática)
final Iterable<String> it = List.of("aaa", "bbb", "ccc");
System.out.println(it); // [aaa, bbb, ccc]
it.forEach(s -> System.out.println(s));
// Result
// ↓
//aaa
//bbb
//ccc
final Iterable<Path> it = Path.of("dir1", "dir2", "test.txt");
System.out.println(it); // dir1\dir2\test.txt
it.forEach(System.out::println);
// Result
// ↓
//dir1
//dir2
//test.txt
Iterator<T> iterator ()
Devuelve un iterador sobre elementos de tipo T. (Traducción automática)
final Iterable<String> it = List.of("aaa", "bbb", "ccc");
System.out.println(it); // [aaa, bbb, ccc]
final var iterator = it.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// Result
// ↓
//aaa
//bbb
//ccc
default Spliterator<T> spliterator ()
Crea un divisor sobre los elementos descritos por este iterable. (Traducción automática)
final Iterable<String> it = List.of("aaa", "bbb", "ccc", "ddd", "eee");
System.out.println(it); // [aaa, bbb, ccc, ddd, eee]
final var s1 = it.spliterator();
System.out.println("s1 size : " + s1.estimateSize()); // s1 size : 5
final var s2 = s1.trySplit();
System.out.println("s1 size : " + s1.estimateSize()); // s1 size : 3
System.out.println("s2 size : " + s2.estimateSize()); // s2 size : 2
s1.forEachRemaining(System.out::println);
// Result (s1)
// ↓
//ccc
//ddd
//eee
s2.forEachRemaining(System.out::println);
// Result (s2)
// ↓
//aaa
//bbb
Related posts
- Ejemplos de API