Olá eu tenho uma classe chamada placar que possui o nome e a pontuação de um jogador, e eu tenho outra classe chamada Records que ira armazenar em ordem todos os placar dos jogos, nessa classe records eu tenho dois hashmap(um armazena os records sem esta ordenado e o outro ordenado) e uma LinkedList. Para ordenar estou usando um Collections.sort, mas o professor disse que naum quer assim, ele disse que quer que usemos o compare ou algo assim.
Alguem pode me dar uma luz, pois da maneira que o prefessor tah pedindo eu até axei algo explicando, mas naum consegui entender, estou anexando minha duas classes, que por sinal esta funcionando pefeitamente, mas naum como o professor quer.
e ja ia me esquecendo, eu tenho que ordenar primeiro pela pontuação, e se tiver duas pontuações iguais ae pelo nome.
package br.Uemg.JodoDados.Model;
import java.util.*;
public class Records {
Map<Integer, Placar> mapRecord = new HashMap<Integer, Placar>();
List<Integer> lista = new LinkedList<Integer>();
Map<Integer, Placar> mapRecordOrdenado = new HashMap<Integer, Placar>();
public void gravarRecord(Placar placar) {
int cont = 0;
for (int i = 0; i <= lista.size() - 1; i++) {
if (lista.get(i).equals(placar.getResultado())) {
cont = 1;
}
}
if (cont == 0) {
lista.add(new Integer(placar.getResultado()));
}
mapRecord.put(mapRecord.size() + 1, placar);
}
public void ordenar() {
Integer x = 1;
Collections.sort(lista);
for (int j = lista.size(); j > 0; j--) {
for (Integer i = 1; i <= mapRecord.size(); i++) {
if (mapRecord.get(i).getResultado().equals(lista.get(j - 1))) {
mapRecordOrdenado.put(x, mapRecord.get(i));
x++;
}
}
}
}
public Map mostrarRecord() {
ordenar();
return mapRecordOrdenado;
}
}
package br.Uemg.JodoDados.Model;
import java.util.Observable;
public class Placar extends Observable {
private Jogador jogador;
private Integer resultado;
public Jogador getJogador() {
return jogador;
}
public void setJogador(Jogador jogador) {
this.jogador = jogador;
}
public Integer getResultado() {
return resultado;
}
public void setResultado(Integer resultado) {
this.resultado = resultado;
}
}