本示例中只选择了按照两个属性进行排序,3、4、n个属性的排序以此类推
Collections.sort(mapList, new Comparator<Record>(){ /* * int compare(Record o1, Record o2) 返回一个基本类型的整型, * 返回负数表示:o1 小于o2, * 返回0 表示:o1和o2相等, * 返回正数表示:o1大于o2。 */ public int compare(Record o1, Record o2) { if( o2.getStatus()>o1.getStatus()) return 1; else if(o1.getStatus()==o2.getStatus()){ if(o1.getCreateTime().before(o2.getCreateTime()) ) return 1; else if(o1.getCreateTime()==o2.getCreateTime()) return 0; else return -1; } else return -1; } });
说明:代码解读先按照 status的大小倒序排列,如果值相同的,再按照创建时间倒序排列
解读:当compare方法返回值为1时 ,需要调换两个对象的位置
版权声明:本文为itmrchen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。