Junior — Middle
Que métodos devem ser implementados na classe para que seus objetos possam ser usados em um ciclo for-each?
sobes.tech IA
Resposta da IA
Para que os objetos de uma classe possam ser utilizados num ciclo for-each em Java, a classe deve implementar a interface Iterable<T>. O método principal que deve ser implementado é:
Iterator<T> iterator();
Este método devolve um objeto Iterator, que implementa os métodos:
boolean hasNext()— verifica se há um elemento seguinte.T next()— devolve o elemento seguinte.
Exemplo:
import java.util.Iterator;
public class MyCollection implements Iterable<String> {
private String[] data = {"a", "b", "c"};
@Override
public Iterator<String> iterator() {
return new Iterator<String>() {
private int index = 0;
@Override
public boolean hasNext() {
return index < data.length;
}
@Override
public String next() {
return data[index++];
}
};
}
}
// Utilização:
// for (String s : new MyCollection()) {
// System.out.println(s);
// }