13 de abr. de 2007

Ordenar objetos em Java








Hoje tive que ordenar objetos de uma Collection. Essa coleção era resultado de uma consulta muito louca usando a api Criteria do Hibernate, por isso não consegui utilizar um simples ORDER BY.


Para resolver meu problema utilizei as API's
Commons Collection e BeanUtil do Jakarta.

O código ficou assim:


List<BeanComparator> sortFields = new ArrayList();
sortFields.add(new BeanComparator("semestre"));
sortFields.add(new BeanComparator("nome"));

ComparatorChain multiSort = new ComparatorChain(sortFields);
java.util.Collections.sort(disciplinas,multiSort);

Tirei o exemplo do Porta JavaFree, só não achei o link mais

Este código é bem simples.

Primeiro criei uma list de BeanComparator. BeanComparator é utilizado em conjunto pela classe ComparatorChain para ordenar uma list por vários campos. Nome meu caso nome e semestre.

Era isso!

Nenhum comentário: