关于TreeSet<E>泛型类中的compareTo()方法的调用

来源:互联网 发布:gta5捏脸数据男韩国 编辑:程序博客网 时间:2024/06/06 03:27

关于TreeSet< E >泛型类中的compareTo()方法的调用:
compareTo()方法使用二叉排序树的方法进行排序,在调用对象.add()方法时自动进行比较,不用显式调用该方法。比较情况见下面代码。

package filePractice;import java.util.Set;import java.util.TreeSet;public class Test5 {    public static void main(String[] args) {        Set<Person>  allSet =new TreeSet<Person>();        allSet.add(new Person("zhangsan",20));        allSet.add(new Person("lsi",19));        allSet.add(new Person("wangwu",39));        allSet.add(new Person("zhaoliu",23));        allSet.add(new Person("caidsa",21));        System.out.println(allSet.toString());    }}class  Person implements Comparable<Person>{    private String name;    private int age;    Person(String name,int age)    {        this.name=name;        this.age=age;    }    public String toString()    {        return "姓名:"+this.name+" 年龄:"+this.age;    }    @Override    public int compareTo(Person per) {        System.out.println(this.name+"正在调用compareTo方法"+per.name);        if(this.age>per.age)        {            return 1;        }        else if(this.age==per.age)        {            return 0;        }else        {            return -1;        }    }}

运行结果如下图:
这里写图片描述

0 0
原创粉丝点击