A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //使用TreeSet集合,添加自定义类,需复写判断对象是否相同的方法(CompareTo(Object obj))
  2. import         java.util.*;
  3. class TreeSetDemo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 TreeSet ts=new TreeSet();
  8.                 ts.add(new Student("张三",3));
  9.                 ts.add(new Student("李四",4));
  10.                 ts.add(new Student("张五",6));
  11.                 ts.add(new Student("王六",6));       
  12.                 Iterator it=ts.iterator();
  13.                 while(it.hasNext())
  14.                 {
  15.                 Student stu=(Student) it.next();
  16.                 System.out.println(stu.getName()+"=="+stu.getAge());
  17.                 }
  18.         }

  19. }
  20. class Student implements Comparable
  21. {
  22.         private String name;
  23.         private int age;
  24.         Student(String name,int age){
  25.         this.name=name;
  26.         this.age=age;
  27.         }
  28.         public int compareTo(Object ob){//这里复写一个TreeSet判断对象相同的方法
  29.                 if(!(ob instanceof Student))
  30.                         throw new RuntimeException("不是学生对象");
  31.                 Student stu=(Student) ob;
  32.                 if(stu.getAge()>age)
  33.                         return 1;
  34.                 if(stu.getAge()==age)
  35.         //age为主要条件,当主要条件相同时,得看需要判断次要条件
  36.                         return this.name.compareTo(stu.name);
  37.                 return -1;
  38.         }
  39.         public String getName(){
  40.                 return name;
  41.         }
  42.         public int getAge(){
  43.                 return age;
  44.         }
  45. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马