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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 未名以律 于 2014-8-7 14:38 编辑
  1. import java.util.*;

  2. class Student  implements Comparable<Student> //声明类,创建类属性
  3.         {
  4.         String name;
  5.         int age;
  6.         int score;
  7.                 Student(String name,int age,int score)//初始化属性
  8.                 {
  9.             this.name=name;
  10.             this.age=age;
  11.             this.score=score;
  12.                 }        
  13.   
  14.         public String getName()//提供姓名调用方法
  15.         {
  16.                 return name;
  17.         }

  18.     public int getAge()//提供年龄调用方法
  19.                 {  
  20.           return age;
  21.                 }  

  22.         public int getScore()//提供成绩调用方法
  23.                 {
  24.                   return score;
  25.                 }

  26.         public int compareTo(Student stu)//考虑成绩相同,所以需要比较名字
  27.            {        
  28.           if(this.score>stu.score) return 1; //主要条件成绩比较     
  29.           else if(this.score<stu.score) return -1;
  30.           else if(this.name.compareTo(stu.name)>0) return 1;//次要条件名字比较
  31.           else if(this.name.compareTo(stu.name)<0)return -1;
  32.           return 0;//如果成绩与名字都相等则为0                                       
  33.         }

  34.         }


  35.    


  36. public class Test10
  37.         {
  38.       public static void main(String[] args)
  39.                   {
  40.               TreeSet<Student> scoreForm = new TreeSet<Student>(); // 创建TreeSet对象scoreForm
  41.                
  42.                                 scoreForm.add(new Student("zhangsan", 15, 78));// 创建5个对象装入TreeSet
  43.                 scoreForm.add(new Student("lisi", 14, 62));
  44.                 scoreForm.add(new Student("wangwu", 15, 85));
  45.                 scoreForm.add(new Student("zhaoliu", 16, 92));
  46.                 scoreForm.add(new Student("sunqi", 16, 85));
  47.                
  48.                 Iterator<Student> iter = scoreForm.iterator();//迭代器接口            

  49.             
  50.                while (iter.hasNext()) // // 遍历成绩
  51.                                    {
  52.                       Student student = (Student) iter.next();
  53.                       System.out.println("姓名:" + student.getName() + ",年龄:"
  54.                                         + student.getAge() + ",成绩:" + student.getScore());
  55.                 }
  56.         }

  57. }

复制代码

0 个回复

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