在treeset集合中 存入多个学生对象,学生有姓名和成绩两个属性,再存入集合时以学生的成绩为依据判断
分析
1.首先有一个bean类,Student类,其中有String name;int num两个变量
2.这个要被存入集合并排序,所以实现Conparable接口,并且重写CompareTo方法,以成绩为主要条件排序
3.在测试类中创建集合对象,并且添加学生对象
1.创建学生类,并实现Comparable接口重写其CompareTo方法
- package com.heima.bean;
- public class Student implements Comparable<Student> { //实现Comparable接口
- private String name;
- private int cj;
- public Student() {
- super();
- }
- public Student(String name, int cj) {
- super();
- this.name = name;
- this.cj = cj;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getCj() {
- return cj;
- }
- public void setCj(int cj) {
- this.cj = cj;
- }
- @Override
- public String toString() {
- return "Student [name=" + name + ", cj=" + cj + "]";
- }
- @Override
- public int compareTo(Student s) { //重写compareTo方法
- int num = this.cj - s.cj; //以成绩为主要条件排序
- return num == 0 ? this.name.compareTo(s.name) : num; //名字为次要条件
- }
- }
复制代码 2.测试类
- package com.heima.test;
- import java.util.TreeSet;
- import com.heima.bean.Student;
- public class Test02_学生对象 {
- public static void main(String[] args) {
- TreeSet<Student> ts = new TreeSet<>();
- ts.add(new Student("张三",60));
- ts.add(new Student("李四",70));
- ts.add(new Student("王五",80));
- ts.add(new Student("赵六",70));
- for (Student student : ts) {
- System.out.println(student);
- }
- }
- }
复制代码
|
|