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