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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© BackGaoz 中级黑马   /  2016-4-28 23:02  /  320 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在treeset集合中  存入多个学生对象,学生有姓名和成绩两个属性,再存入集合时以学生的成绩为依据判断
分析
1.首先有一个bean类,Student类,其中有String name;int num两个变量
2.这个要被存入集合并排序,所以实现Conparable接口,并且重写CompareTo方法,以成绩为主要条件排序
3.在测试类中创建集合对象,并且添加学生对象
1.创建学生类,并实现Comparable接口重写其CompareTo方法
  1. package com.heima.bean;

  2. public class Student implements Comparable<Student> { //实现Comparable接口
  3. private String name;
  4. private int cj;
  5. public Student() {
  6. super();

  7. }
  8. public Student(String name, int cj) {
  9. super();
  10. this.name = name;
  11. this.cj = cj;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. public int getCj() {
  20. return cj;
  21. }
  22. public void setCj(int cj) {
  23. this.cj = cj;
  24. }

  25. @Override
  26. public String toString() {
  27. return "Student [name=" + name + ", cj=" + cj + "]";
  28. }
  29. @Override
  30. public int compareTo(Student s) { //重写compareTo方法
  31. int num = this.cj - s.cj; //以成绩为主要条件排序
  32. return num == 0 ? this.name.compareTo(s.name) : num; //名字为次要条件
  33. }

  34. }
复制代码
2.测试类
  1. package com.heima.test;

  2. import java.util.TreeSet;

  3. import com.heima.bean.Student;

  4. public class Test02_学生对象 {
  5. public static void main(String[] args) {
  6. TreeSet<Student> ts = new TreeSet<>();
  7. ts.add(new Student("张三",60));
  8. ts.add(new Student("李四",70));
  9. ts.add(new Student("王五",80));
  10. ts.add(new Student("赵六",70));
  11. for (Student student : ts) {
  12. System.out.println(student);
  13. }
  14. }

  15. }
复制代码



0 个回复

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