如何对集合中的某一字段进行排序

来源:互联网 发布:企业邮箱软件下载 编辑:程序博客网 时间:2024/05/20 23:57

使用Collections.sort()对List/ArrayList进行排序

如何对ArrayList中某个字段进行排序?

代码块

/**    重写Comparator里compare方法*/public class Sort implements Comparator{    private int score;    //传递需要进行比较对象    @Override    public int compare(Object o1,Object o2){        //设定比较规则,例如学生类中的分数比较        //注意返回值,当返回值为-1的时候不交换顺序,或者说把前面元素放到后面元素之前        if (((Student)o1).getScore()>((Student)o2).getScore()) {            return -1;        }        //如果为1则前后交换顺序        elseif(((Student)o1).getScore(<((Student)o2).getScore()) {            return 1;        }        //相等:则不交换位置        return 0;    }    public int getScore() {        return score;    }    public void setScore(int score) {        this.score = score;    }//在主函数中调用此函数排序Collections.sort(students, new Sort());核心代码:        List list = new ArrayList();        //......        Collections.sort(list, new MyComparator());        class MyComparator implements Comparator        {            //这里的o1和o2就是list里任意的两个对象,然后按需求把这个方法填完整就行了            public int compare(Object o1, Object o2)            {                //比较规则            }        }总结 根据不同规则,如果想将前面的变量放到后面的变量之前,则返回-1即可。
0 0
原创粉丝点击