结果为有小到大
1、list里面为map
public static void main(String[] args) {
List<Map<String, Integer>> list = new ArrayList<>();
Map<String, Integer> map1 = new HashMap<>();
map1.put("goods_id", 10);
map1.put("sort", 10);
Map<String, Integer> map2 = new HashMap<>();
map2.put("goods_id", 30);
map2.put("sort", 30);
Map<String, Integer> map3 = new HashMap<>();
map3.put("goods_id", 20);
map3.put("sort", 21);
Map<String, Integer> map4 = new HashMap<>();
map4.put("goods_id", 21);
map4.put("sort", 21);
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
System.out.println("排序前:"+list);
Collections.sort(list, new Comparator<Map>() {
@Override
public int compare(Map o1, Map o2) {
if (Integer.valueOf(o1.get("sort").toString()) >= Integer.valueOf(o2.get("sort").toString())) {
return 1;
}
// if (Integer.valueOf(o1.get("sort").toString()) > Integer.valueOf(o2.get("sort").toString())) {
// return 0;
// }
return -1;
}
});
System.out.println("排序后:"+list);
}
2、list里面为实体类
public static void main(String[] args) {
List<ActivityCouponCategory> list = new ArrayList<>();
ActivityCouponCategory activityCouponCategory1 = new ActivityCouponCategory();
activityCouponCategory1.setCategoryId(10);
activityCouponCategory1.setCategoryName("10");
ActivityCouponCategory activityCouponCategory2 = new ActivityCouponCategory();
activityCouponCategory2.setCategoryId(30);
activityCouponCategory2.setCategoryName("30");
ActivityCouponCategory activityCouponCategory3 = new ActivityCouponCategory();
activityCouponCategory3.setCategoryId(20);
activityCouponCategory3.setCategoryName("21");
ActivityCouponCategory activityCouponCategory4 = new ActivityCouponCategory();
activityCouponCategory4.setCategoryId(20);
activityCouponCategory4.setCategoryName("22");
list.add(activityCouponCategory1);
list.add(activityCouponCategory2);
list.add(activityCouponCategory3);
list.add(activityCouponCategory4);
System.out.println("排序前:"+list);
Collections.sort(list, new Comparator<ActivityCouponCategory>() {
@Override
public int compare(ActivityCouponCategory o1, ActivityCouponCategory o2) {
if (o1.getCategoryId() > o2.getCategoryId()) {
return 1;
}
if (o1.getCategoryId() == o2.getCategoryId()) {
return 0;
}
return -1;
}
});
System.out.println("排序后:"+list);
}
返回值 | 含义 |
---|---|
负整数 | 当前对象的值 < 比较对象的值 , 位置排在前 |
零 | 当前对象的值 = 比较对象的值 , 位置不变 |
正整数 | 当前对象的值 > 比较对象的值 , 位置排在后 |