Collection List<Map> sort
public class CollectionUtil {
public static void sort(List<Map<String, Object>> list, String keyNm) {
sort(list, keyNm, false);
}
public static void sort(List<Map<String, Object>> list, String keyNm, boolean descOrder) {
Comparator<Map<String, Object>> comparator = new ListMapComparator(keyNm);
Collections.sort(list, comparator);
if (descOrder) {
Collections.reverse(list);
}
}
}
class ListMapComparator implements Comparator<Map<String, Object>> {
private String keyNm;
public ListMapComparator(String keyNm) {
this.keyNm = keyNm;
}
public int compare(Map<String, Object> map1, Map<String, Object> map2) {
String value1 = String.valueOf(map1.get(keyNm));
String value2 = String.valueOf(map2.get(keyNm));
return value1.compareTo(value2);
}
}
----------------------------------------------------------------------------------------
사용예)
List<Map<String, Object>> list = getList();
CollectionUtil.sort(list, "REG_TS"); // 오름차순
CollectionUtil.sort(list, "REG_TS", true); // 내림차순