ArrayList

5 respostas
E

Opa , olha eu aqui de novo.

Caras, tenho um array lista de um objeto contato, por exemplo, com codigo, nome, cidade e estado. Preciso ordenar esses caras de modo a imprimir agrupados por cidade e por estado. Achei muita coisa sobre ordenar arraylist mas todos ordenando apenas por um atributo.

Alguem sabe como posso fazer?

valeu

5 Respostas

thiago.correa

Cara nesse caso você teria uma “árvore” tipo, um Map com os estados que esses Estados contém uma Map de Cidades que contém uma lista de contratos!
O certo seria implementar um Comparator para cada tipo de ordenação, uma para estado e outro para cidades!
Sacou?!

E

Voce pode me dar um exemplo de como eu faria isso ?

valeu

pablouu

vc não pode implementar comparable e comparator?

ViniGodoy

Basta implementar um Comparator que leve em consideração esses dois atributos:

public ContatoComparator implements Comparator<Contato>() { public int compare(Contato c1, Contato c2) { int estado = c1.getEstado().compareTo(c2.getEstado()); if (estado != 0) { return estado; } //Se os estados são iguais, ordena pela cidade return c1.getCidade().compareTo(c2.getCidade()); } }

E

Obrigado , vou testar

Criado 5 de outubro de 2009
Ultima resposta 5 de out. de 2009
Respostas 5
Participantes 4