TreeSet的中的小注意事项----compareTo的实现

  今天很累,但博客还得要写

 

  一个小例子,把add到TreeSet中的元素,按年龄大小排序,如果年龄相同,按姓名排列

    

  

package cn.tsp2c.liubao;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class TestTreeSet {
    public static void main(String[] args){
        Set set=new TreeSet();
        set.add(new Dog("hau",3));
        set.add(new Dog("tom",5));
        set.add(new Dog("jerry",1));
        set.add(new Dog("yao",8));
        set.add(new Dog("tmac",7));
        set.add(new Dog("kobe",7));
        set.add(new Dog("iverson",7));
        set.add(new Dog("bryant",7));
        set.add(new Dog("bbcsdt",7));

        for(Iterator it=set.iterator();it.hasNext();){
            System.out.println(it.next());
        }

    }
}

class Dog implements Comparable{
    private String name;
    private int age;

    public Dog(String name, int age) {
        this.name = name;
        this.age = age;
    }

  //这里是偶今天所学的东东,成就感谈不上,不过还蛮高兴的!!!

    public int compareTo(Object o) {      

        Dog d=(Dog)o;
        if(this.age!=d.age)
            return this.age-d.age;
        else{
             return this.name.compareTo(d.name);     

       }
    }

    @Override
    public String toString() {
        return "Dog{" + "name=" + name + "\tage=" + age + '}';
    }

}

 

  总结:在实现过程中一定要注意所在类一定要有implements Comparable的关键字,分布实现比较,首先实现按年龄的比较,然后再去实现按姓名的排序,两步完成后,偶的小程序也就ok了,呵呵~~类但快乐着~~~

转载于:https://www.cnblogs.com/christ/archive/2010/10/30/1865024.html

你可能感兴趣的:(TreeSet的中的小注意事项----compareTo的实现)