List of usage examples for org.apache.commons.collections4.comparators ComparatorChain ComparatorChain
public ComparatorChain(final List<Comparator<E>> list)
From source file:com.caocao.util.CollectionUtils.java
/** * ??sortTheList ??List?/*from ww w . j a va2 s. co m*/ * * @param list * @param sortFields * @param sortOrder */ public static void sortTheList(List list, String[] sortFields, String sortOrder) { if (sortFields == null || sortFields.length <= 0) { return; } ArrayList sorts = new ArrayList(); Comparator c = ComparatorUtils.NATURAL_COMPARATOR; c = ComparatorUtils.nullLowComparator(c); // ?null if (StringUtils.isEquals(sortOrder, CollectionUtils.SORT_ORDER_DESC)) { c = ComparatorUtils.reversedComparator(c); // ? } String sortField = null; for (int i = 0; i < sortFields.length; i++) { sortField = sortFields[i]; if (StringUtils.isNotEmpty(sortField)) { sorts.add(new BeanComparator(sortField, c)); } } ComparatorChain multiSort = new ComparatorChain(sorts); Collections.sort(list, multiSort); }