Ordenas uma lista de Usuarios

3 respostas
jessetsilva

Bom dia a todos.

Tenho o seguinte problema.

possuo um array list do tipo usuarios ( List Usuarios())

um dos atributos destes usuarios são os custos totais, e é exatamente por este atributo que eu preciso ordenar de forma descrescente, mas não consigo pensar numa solução prática e rápida.

Alguem sabe de alguma maneira de se fazer isso?

Obrigado a todos.

3 Respostas

R

Sugiro criar uma classe que implemente a interface java.util.Comparator e usá-la com o método java.util.Collections.sort(lista, comparator), na minha opinião é a forma mais prática de ordenar List’s.

T

http://commons.apache.org/beanutils/api/index.html

Se você tiver um getter de CustosTotais, então esse é o tal comparator que você pode passar para Collections.sort.

jessetsilva

Bom pessoal, obrigado pelas dicas, mas acabei por criar um método não muito ortodoxo mas que supriiu minha necessidade atual, aso que quiserem saber como foi, apenas criei uma espécide de bubblesort com minh alista mesma, e o resultado foi o esperado

public List<Usuarios>  ordenar(List<Usuarios> listaUsuarios) {

        for (int i = 0; i < listaUsuarios.size()-1; i++) {
     for (int j = 0; j < listaUsuarios.size()-i-1; j++) {
         Usuarios user1 = listaUsuarios.get(j);
         Usuarios user2 = listaUsuarios.get(j+1);
        if (user1.getValor_Total_dos_Documentos() < user2.getValor_Total_dos_Documentos()) {
           Usuarios temp = user1;
             listaUsuarios.set(j,user2);
             listaUsuarios.set(j+1,user1);
        }
     }
  }
        return listaUsuarios;
}

Obrigao a todos.

Criado 29 de abril de 2009
Ultima resposta 29 de abr. de 2009
Respostas 3
Participantes 3