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:
Postar um comentário