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 ganhons 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.
a classe ArrayList tem um metodo de ordenacao que vc escolhe um tipo de classificacao, mas se quiser personalizar terá que implementar usando comparable. dar uma pesquisada a respeito que vc acha.
O seu objeto por implementar Comparable ou… vc pode passar um Comparator para o TreeSet…
Procure por ordenaçao na documentacao da API Collections
LPJava
rogelgarcia:
ArrayList nao… TreeSet…
O seu objeto por implementar Comparable ou… vc pode passar um Comparator para o TreeSet…
Procure por ordenaçao na documentacao da API Collections
o arraylist pode ordenadar tem um metodo dele, caso seja por uma classificacao apenas, e tb temos o comparator e comparable. Mas, acho que meu post anterior parece que estava associado eles com arraylist e nao foi isso :D. mandei mal nessa hehe.
rogelgarcia
Qual método?
LPJava
estou sem api aqui, mas ele vem da classe Collections, é o metodo sort() e passamos uma lista como arg para ele. Se nao estou equivocado. Porem, ele permite apenas uma classificacao.
renamed
estou sem api aqui, mas ele vem da classe Collections, é o metodo sort() e passamos uma lista como arg para ele. Se nao estou equivocado. Porem, ele permite apenas uma classificacao.
Ele pode utilizar o método sort da classe Collections. Documentação aqui.
E não, ele não permite apenas uma classificação. Sua classe pode implementar a interface Comparator e, com isso, você decide como descobrir se um elemento vem antes ou depois de outro. Documentação aqui.
ok?
LPJava
estou sem api aqui, mas ele vem da classe Collections, é o metodo sort() e passamos uma lista como arg para ele. Se nao estou equivocado. Porem, ele permite apenas uma classificacao.
Ele pode utilizar o método sort da classe Collections. Documentação aqui.
E não, ele não permite apenas uma classificação. Sua classe pode implementar a interface Comparator e, com isso, você decide como descobrir se um elemento vem antes ou depois de outro. Documentação aqui.
ok?
se ele usar o metodo no modo padrao eh apenas uma classificacao, ate onde eu sei, implementar Comparator é outra historia.
analistaerick
Alguma dica do código?
rogelgarcia
Sobre o código a resposta são a segunda e a terceira respostas do tópico…
Sobre o método sort…
Esse método é um método estático da classe Collections … ou seja… nao é de ArrayList…
Ainda sobre o método sort…
vc tem duas opções:
Todos os objetos devem implementar Comparable
Ou passar como parametro um comparator…
Sobre a duvida entre classificacao e ordenacao…
O ArrayList tem uma ordem (ordem de insercao…)
Mas nao classificacao… (nao sei se estou confundindo os termos aqui… conferi em algumas fontes… mas ainda nao estou 100% confiante… sei que tem isso no livro de certificacao da Kate Sierra… mas emprestei o meu para alguém que nao devolveu … hehe dureza)
renamed
estou sem api aqui, mas ele vem da classe Collections, é o metodo sort() e passamos uma lista como arg para ele. Se nao estou equivocado. Porem, ele permite apenas uma classificacao.
Ele pode utilizar o método sort da classe Collections. Documentação aqui.
E não, ele não permite apenas uma classificação. Sua classe pode implementar a interface Comparator e, com isso, você decide como descobrir se um elemento vem antes ou depois de outro. Documentação aqui.
ok?
se ele usar o metodo no modo padrao eh apenas uma classificacao, ate onde eu sei, implementar Comparator é outra historia.
Não intendi qual o modo padrão.
Se você diz que o modo padrão é apenas passando a lista, haverá erro de compilação.
Essa é a assinatura do método, como você pode ver, ele só aceita listas de elementos que implementem a interface Comparable.
Se sua lista é de elementos que não implementam essa interface, você é obrigado a chamar o método com essa assinatura, informando um Comparator para que sort possa ordenar a lista corretamente.
A Classe ArrayList não é uma coleção classificada, nem possui método de classificação. A natureza da ArrayList é manter a ordem dos elementos na ordem de inserção.
A classe Collections é quem possui método de classificação, chamada sort().
No entanto, para classificar, você precisa implementar a interface Comparable e sobrescrever o método compareTo(), ou implementar a interface Comparator(), e sobrescrever o método compare().