Example usage for org.apache.commons.collections4 ComparatorUtils NATURAL_COMPARATOR

List of usage examples for org.apache.commons.collections4 ComparatorUtils NATURAL_COMPARATOR

Introduction

In this page you can find the example usage for org.apache.commons.collections4 ComparatorUtils NATURAL_COMPARATOR.

Prototype

Comparator NATURAL_COMPARATOR

To view the source code for org.apache.commons.collections4 ComparatorUtils NATURAL_COMPARATOR.

Click Source Link

Document

Comparator for natural sort order.

Usage

From source file:com.caocao.util.CollectionUtils.java

/**
 * ??sortTheList ??List?//  w ww  .ja v a 2 s  .  c  o  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);
}