当前位置:   article > 正文

java集合list之排序_java list 从大到小排序

java list 从大到小排序

List集合排序

List集合有两大排序方式,分别为自然排序和自定义排序。
使用自然排序,需要元素类达到某种要求。
使用自定义排序,就是在需要排序的时候才传入排序规则

一、自然排序

  • 自然排序是 Collections.sort 方法,只带一个参数,参数为List集合。

  • 默认能直接使用自然排序的,有基本数据类型的包装类型、String类型等等。 数字类型的自然排序顺序

  • 固定为从小到大

  • 为什么那些类型能用于自然排序?因为它们都有一个特点,就是实现了 Comparable 接口的 compareTo 方法。
    在这里插入图片描述在这里插入图片描述

  • 该方法的使用意义是让自身对象与另一个对象进行某方面的比较大小,用前者减去后者,返回正数则认为是前者的更大,返回负数则认为前者的更小。

    List<Integer> list = new ArrayList();
    list.add(2);
    list.add(1);
    list.add(3);
    Collections.sort(list);
    System.out.println(list);
    // 输出:[1, 2, 3]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、自定义排序

自定义排序同样也是 Collections.sort 方法,但是要多一个参数,该参数要实现 Comparator 接口的 compare 方法。
1、对List<Map<String, Object>>格式的数据排序
            List<Map<String, Object>> userList = userService.selectUserList();
            Collections.sort(userList, new Comparator<Map<String, Object>>() {
                @Override
                public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                    Integer s1 = (Integer) o1.get("age");
                    Integer s2 = (Integer) o2.get("age");
//                    return s2 - s1;//降序
                    return s1 - s2;//升序
                }
            });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/440098
推荐阅读
相关标签
  

闽ICP备14008679号