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

本文介绍了一个使用Java TreeSet进行元素排序的例子,元素为自定义的Dog类对象,首先按年龄排序,年龄相同时按姓名排序。通过实现Comparable接口完成自定义类型的排序逻辑。

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

 

  一个小例子,把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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值