排序问题

数组排序

数组排序最简单了,直接Arrays.sort(a); a是待排序的数组

根据对象中的成员变量来排序

这个要用到comparator接口
需要另外创建一个类来实现这个接口,并且重接里面的compare方法。
在这里根据是Application这个方法中的average这个成员变量来排序。

class Acomparator implements Comparator<Application> {
    @Override
    public int compare(Application o1, Application o2) {
        // 这里是从大到小的排序规则。如果o1小于o2,返回一个正数;如果o1大于o2,返回一个负数;如果他们相等,则返回0
        if (o1.average > o2.average) {
            return -1;
        } else if (o1.average < o2.average) {
            return 1;
        } else {
            return 0;
        }
    }
}

然后在用的时候,这么用。先创建一个比较器的对象。然后调用Collections里的sort().
第一个参数是待排序的对象的list.如下定义。List本身是一个接口,所以要指明类型。ArrayList是它一个实现类。创建的时候创建的还是实现类。

List<Application> appList = new ArrayList<Application>();
Acomparator comparator = new Acomparator();
Collections.sort(appList, comparator);

那么appList里的对象就有序了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,639评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,529评论 11 349
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,451评论 0 3
  • 忧伤 在时光里打捞一瓣落红 凝眸 在岁月的长河里 在季节的深处 等芬芳来 等诗意与画卷 也浸润一支笔 用春天的书法...
    美食美客阅读 1,400评论 0 0
  • 梦见妈妈 我小时候的她 比现在更可爱更温柔 爸爸建议我买一辆摩托车 而我没有钱 女行吟诗人,她不工作 关了灯,并不...
    虫二宝宝阅读 2,271评论 0 4

友情链接更多精彩内容