class ComparadorJogoGalo implements Comparator<JogoGalo>() {
    public int compare(JogoGalo g1, JogoGalo g2) {
        if (g1.obtemResultado() == g2.obtemResultado())
            return 0;
        
        switch (g1.obtemResultado()) {
        case JOGADOR_1:
            return 1;
        case EMPATE:
            return -1;
        case JOGADOR_2:
            if (g2.obtemResultado() == ResultadoJogo.JOGADOR_1)
                return -1;
            return 1;
        default:
            return -1;
                        
        }
    }
}

public class AplicacaoJogoGalo {
// ... public List<JogoGalo> obtemJogosOrdenados() { ComparadorJogoGalo comparador = new ComparadorJogoGalo(); ArrayList<JogoGalo> ordenado = new ArrayList<>(_jogos); Collections.sort(ordenado, comparador); return ordenado; } }