使用Comparable接口自定义排序

Comparable接口用于强行对实现它的每个类的对象进行排序。在实现该接口的类中,必须实现compareTo()方法,用于指定排序规则。

Comparable的声明:

public class A implements Comparable<A>{}

在实现compareTo()方法后,若将对象保存到列表中,可通过执行Collections.sort()方法进行自动排序;若保存到数组中,可以通过执行Arrays.sort()方法进行自动排序。

示例代码如下:

public class Man implements Comparable<Man>{                //定义类Man,并实现Comarable接口

    private int num;

    private String name;

    private int age;

    public Man(int num,String name,int age){                //对象的构造方法
        this.num=num;

        this.name=name;

        this.age=age;

}

    public int compareTo(Man o){                            //实现compareTo()方法
        if(num>o.num){

            return 1;

}        else if(num<o.num){

            return -1;

}

        return 0;

}

    public String toString(){                                    //重写toString()方法
        StringBuilder sb=new StringBuilder();

        sb.append("运动员的号码是:"+num+"\t");

        sb.append("运动员的名字是:"+name+"\t");

        sb.append("运动员的年龄是:"+age);

        return sb.toString();

}

}

import java.util.*;

public class Test{

    public static void main(String[] args){

        List<Man> list=new ArrayList<Man>();

        list.add(new Man(7,"C罗",33));

        list.add(new Man(10,"梅西",30));

        list.add(new Man(1,"布冯",40));

        System.out.println("排序前:");

        for(Man o:list){

            System.out.println(o);

}

        System.out.println("排序后:");

        Collections.sort(list);                            //执行自动排序

        for(Man o:list){

            System.out.println(o);

}

}

}

总结:

Comparable接口实现自动排序:

1.定义类实现comparable接口

public class A implements Comaprable<A>{}


2.类中实现compareTo()方法,定义排序规则

public int compareTo(A o){};


3.在Test中执行自动排序

Collections.sort();

或    Arrays.sort();

阅读更多
个人分类: Java
上一篇Java中常见错误提示
想对作者说点什么? 我来说一句

java,Comparable接口实例

2017年12月01日 3KB 下载

java Compare示例

2011年11月30日 25KB 下载

ComparaTest.rar

2013年08月31日 7KB 下载

java集合课件

2013年05月03日 725KB 下载

lucene自定义排序实现

2015年05月24日 3.61MB 下载

ArraySort排序

2011年09月17日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭