版权声明:未经博主同意,禁止转载,联系方式qq2928013321 https://blog.csdn.net/weixin_42130471/article/details/83152046
package comparable;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
import listtomap.Student;
public class compare {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu1=new Student(1,"zhangsan",22);
Student stu2=new Student(2,"lisi",24);
Student stu3=new Student(3,"zhaowu",23);
Student stu4=new Student(4,"wanba",22);
Set<Student> set = new TreeSet<>(
// 如果要实现内部比较器可加上如下注释语句
// new Comparator<Student>() {
//
// @Override
// public int compare(Student arg0, Student arg1) {
// // TODO Auto-generated method stub
// return arg0.getName().compareTo(arg1.getName());
// }
// }
);
set.add(stu1);
set.add(stu2);
set.add(stu3);
set.add(stu4);
for(Student stu:set) {
System.out.println(stu);
}
}
}
Student 类:
package listtomap;
public class Student implements Comparable<Student>{
private int sno;
private String name;
private int age;
public Student(int sno, String name, int age) {
super();
this.sno = sno;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student [sno=" + sno + ", name=" + name + ", age=" + age + "]";
}
public int getSno() {
return sno;
}
public void setSno(int sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
@Override
public int compareTo(Student arg0) {
// TODO Auto-generated method stub
if(this.age==arg0.age) {
return this.sno-arg0.sno;
}else {
return this.age-arg0.age;
}
}
}