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);
        }
    }