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

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

Introduction

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

Prototype

@SuppressWarnings("unchecked")
public static <E> Comparator<E> nullLowComparator(Comparator<E> comparator) 

Source Link

Document

Gets a Comparator that controls the comparison of null values.

Usage

From source file:com.feilong.core.util.MapUtilTest.java

/**
 * TestMapUtilTest.//from   w w  w .  jav a 2 s. c o  m
 */
@Test
public void testMapUtilTest1() {
    Comparator<String> naturalComparator = ComparatorUtils.naturalComparator();
    Comparator<String> nullLowComparator = ComparatorUtils.nullLowComparator(naturalComparator);
    Map<String, String> map = new TreeMap<String, String>(nullLowComparator);
    map.put(null, "111");

    assertThat(map, hasEntry(null, "111"));

}

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

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