package jogogalo;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;
public class AplicacaoJogoGalo {
private List<JogoGalo> _jogos;
public AplicacaoJogoGalo() {
_jogos = new ArrayList<>();
}
public void guarda(JogoGalo jogo) {
_jogos.add(jogo);
}
public JogoGalo obtemJogo(int idx) {
if (idx <= 0 || idx > _jogos.size())
return null;
return _jogos.get(idx - 1);
}
public void escreveResultado() {
int i = 0;
for (JogoGalo jogo : _jogos) {
System.out.println("Resultado do jogo " + i++ + "\n" + jogo);
}
}
}O método escreveResultado pode ser concretizado sem utilizar o ciclo for-each, recorrendo à funcionalidade Iterator. Assim, o método podeeria ser concretizado da seguinte forma:
public void escreveResultado() {
Iterator<JogoGalo> iter = _jogos.iterator();
int i = 0;
while (iter.hasNext()) {
JogoGalo jogo = iter.next();
System.out.println("Resultado do jogo " + i++ + "\n" + jogo);
}
}