import java.util.*;
class EstJogador
{
private String nome;
private int numerosAcertos;
private int numerosErros;
public EstJogador(){
this.nome="";
this.numerosErros=0;
this.numerosAcertos=0;
}
public void setNome( String nome ){
this.nome = nome;
}
public String getNome(){
return this.nome;
}
public void setNumAcertos( int numerosAcertos ){
this.numerosAcertos = numerosAcertos;
}
public int getNumAcertos(){
return this.numerosAcertos;
}
public void setNumErros( int numerosErros ){
this.numerosErros = numerosErros;
}
public int getNumErros(){
return this.numerosErros;
}
}
class ListaJogadores
{
public Vector Jogadores;
public ListaJogadores()
{
this.Jogadores = new Vector();
}
public void adicionarJogador( EstJogador objJog ){
this.Jogadores.addElement( objJog ) ;
}
public void ordenarJogadores(){
Collections.sort( this.Jogadores , new Comparacao() );
}
}
class Comparacao implements Comparator
{
public int compare( Object obj1 , Object obj2 )
{
EstJogador objA, objB;
objA = (EstJogador)obj1;
objB = (EstJogador)obj2;
return objB.getNumAcertos() - objA.getNumAcertos();
}
}
Desta maneira não esta ordenando, alguém sabe porque e como ordenar na ordem correta?
) mas vou supor que obj1 e obj2 sejam strings, dessa forma, se obj1 vier no dicionario antes de obj2, o metodo deve retornar -1(ou qualquer numero negativo), se as palavras sao iguais, retorna 0, se obj2 vier antes de obj1, deve retornar 1(ou qualquer numero positivo). dessa forma voce vai poder descrever quais caracteristicas de um objeto devem ser priorizadas na ordenacao.