Imprimir em ordem decrescente

4 respostas
P

Tenho um método do objeto A que retorna um número x. O objeto B contém inúmeros objetos A (através de um ArrayList). Gostaria de imprimir em ordem decrescente todos os objetos A que estão em B de acordo com valor retornado pelo método. Qual a forma mais fácil de fazer isso?

4 Respostas

T

Ordene usando a ordem decrescente. Use Collections.sort e Collections.reverseOrder.

Lavieri

com comparator

Collections.sort(b.getAs(), new Comparator<A>() {

            public int compare(A object, A other) {
                return object.getX() - other.getX();
            }});

se vc kizer, vc pode criar a classe comparator para fazer a comparação e não instanciar direto pela interface... algo assim

private class ComparaMetodoX implements Comparator<A> {
     public int compare(A object, A other) {
          return object.getX() - other.getX();
     }
}

podendo usar o sort assim

Collections.sort(b.getAs(), new ComparaMetodoX());
sumihara

Já que está utilzando o ArrayList é melhor usar o Collections.sort

:slight_smile:

allyssonluan

Isso usa o Colletions.sort e implementa comparator, é mais fácil

Criado 23 de março de 2009
Ultima resposta 17 de set. de 2009
Respostas 4
Participantes 5