@SuppressWarnings({ "unchecked", "rawtypes" })
public static List<Map<String, Object>> setSortObjectArray(List<Map<String, Object>> list, String[] sortKeys) {
ComparatorChain chain = new ComparatorChain();
Arrays.asList(sortKeys).forEach((sortKey)->{
chain.addComparator(setComparator(list, sortKey));
});
Collections.sort(list, chain);
return list;
}
public static Comparator<Map<String, Object>> setComparator(List<Map<String, Object>> list, String sortKey) {
Comparator<Map<String, Object>> comparator = new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> obj1, Map<String, Object> obj2) {
return obj1.get(sortKey).toString().compareTo(obj2.get(sortKey).toString());
}
};
return comparator;
}
List<Map<String, Object>> newList = Func.setSortObjectArray(newList, new String[] {"dept", "name"});
끗!