import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections.comparators.ComparatorChain;
import java.util.*;
/**
* @author mahui
* @date 2020/8/3 -17:53
*/
public class t083 {
private Object Map;
public static void main(String args[]) {
List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
Map<String,Object> mape = new HashMap<String,Object>() ;
mape.put("name", "李小纳") ;
mape.put("sex", "男") ;
mape.put("age", 32) ;
mape.put("birth",12345);
Map<String,Object> mapa = new HashMap<String,Object>() ;
mapa.put("name","王晓柳") ;
mapa.put("sex", "男") ;
mapa.put("age", 12) ;
mapa.put("birth",1234);
Map<String,Object> mapb = new HashMap<String,Object>() ;
mapb.put("name", "自耕农") ;
mapb.put("sex", "女") ;
mapb.put("age", 32) ;
mapb.put("birth",1234);
Map<String,Object> mapc = new HashMap<String,Object>() ;
mapc.put("name", "阿发") ;
mapc.put("sex", "男") ;
mapc.put("age", 32) ;
mapc.put("birth",1234);
Map<String,Object> mapd = new HashMap<String,Object>() ;
mapd.put("name", "飞机") ;
mapd.put("sex", "男") ;
mapd.put("age", 32) ;
mapd.put("birth",12345);
listMap.add(mapa) ;
listMap.add(mapb) ;
listMap.add(mapc) ;
listMap.add(mapd) ;
listMap.add(mape) ;
System.out.println(listMap);
ComparatorChain comparatorChain = new ComparatorChain();
comparatorChain.addComparator(new BeanComparator("age").reversed());
comparatorChain.addComparator(new BeanComparator("sex"));
comparatorChain.addComparator(new BeanComparator("birth"));
Collections.sort(listMap, comparatorChain);
System.out.println(listMap);
}
}
运行结果:
[{sex=男, name=王晓柳, birth=1234, age=12}, {sex=女, name=自耕农, birth=1234, age=32}, {sex=男, name=阿发, birth=1234, age=32}, {sex=男, name=飞机, birth=12345, age=32}, {sex=男, name=李小纳, birth=12345, age=32}]
[{sex=女, name=自耕农, birth=1234, age=32}, {sex=男, name=阿发, birth=1234, age=32}, {sex=男, name=飞机, birth=12345, age=32}, {sex=男, name=李小纳, birth=12345, age=32}, {sex=男, name=王晓柳, birth=1234, age=12}]