Ordenação de Lista

4 respostas
analistaerick

GRUPO A
Africa do Sul = 3 (3;3;0)
Mexico = 2 (1;2;-1)
Uruguai = 7 (3;1;2)
Franca = 2 (1;2;-1)

Bom galera, gostaria de saber como posso ordenar esta lista, é grupo, onde tem os times, números de pontos, gol marcados, gols sofridos e saldo de gols. A ordem deve ser por números de pontos ganhos por time, na classificação geral, em seguida, se houver empate por números de poontos, por saldo de gols, e por ultimo por gols marcados.

Postei isso ontem mais não ficou bem claro como posso implementar isso.

4 Respostas

tnaires

Como você está estruturando essa lista? Quais são seus elementos?
Você pode colocar esses dados em uma classe - digamos Estatisticas - e fazer com que ela implemente a interface Comparable, escrevendo o método compareTo() de acordo com os critérios que você enumerou.
Aí você usa um Set pra guardar os registros e tá tudo resolvido.

gpd38

Estou fazendo algo parecido aqui, mas por conta propria, porém esta ainda muito no inicio o meu.

Uma ideia que tenho para o seu é:
Se vc estiver usando objeto .
Ex:
Objeto a possui nome, numeroGols, golsMarcados, golsSofridos,saldo, pontos, . . . . . . . . . . .;

Percorreria o vetor, ArrayList, etc. e faria a comparaçao sobre o\s pontos, se deu empate olharia o promixo criterio e assim sucessivamente

IFs e ELSEs aninhados de tro de um for
depois basta colocar na posição i o valor da posiçao J e na posiçao J o valor da posiçao i

=========================

Outra soluçao e bem mais eficaz, seria usar uma estrutura auliliar tipo um vetor do tamanho de sua estrutura principal e da mesma forma vc faz um monte de IFs e ELSEs aninhados, porem vc nao troca os dados e sim as referencias dos indices do vetor

Se os dados do indice 10 forem menores que os dados do indice 2 por exemplo vc coloca o 2 no lugar do 10 e vice versa

renamed

Olá.

Não duplique tópicos, há várias respostas à sua pergunta lá.
Se você não consegue achar seu tópico, você pode ver clicando em Minhas Mensagens, na barra acima.

http://www.guj.com.br/posts/list/212184.java

analistaerick

renamed:
Olá.

Não duplique tópicos, há várias respostas à sua pergunta lá.
Se você não consegue achar seu tópico, você pode ver clicando em Minhas Mensagens, na barra acima.

http://www.guj.com.br/posts/list/212184.java

Desculpe, não foi por má intenção. Não acontecerá mais.

Criado 12 de julho de 2010
Ultima resposta 12 de jul. de 2010
Respostas 4
Participantes 4