ArrayList

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

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?!

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

valeu

vc não pode implementar comparable e comparator?

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()); } }

Obrigado , vou testar