• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
cp3
博客园    首页    新随笔    联系   管理    订阅  订阅

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了,呵呵~~类但快乐着~~~

posted @ 2010-10-30 11:56  cp3  阅读(641)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3