package com.fenuang.student;
import java.util.Comparator;
public class Student implements Comparable {
int id;
String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
*
*/
public Student() {
super();
// TODO Auto-generated constructor stub
}
/**
* @param id
* @param name
*/
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id是:" + this.id + "名字是:" + this.name;
}
@Override
public int compareTo(Object obj) {
// TODO Auto-generated method stu
Student stu = (Student) obj;
int num = new Integer(this.id).compareTo(new Integer(stu.id));
return num == 0 ? this.name.compareTo(stu.name) : num;
}
}
需要在实例化对象的类中重写compareTo方法
package com.fenuang.test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.TreeSet;
import com.fenuang.student.Student;
public class test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// ArrayList<Student> arraylist = new ArrayList<>();
// HashSet<Student> arraylist = new HashSet<>();
TreeSet<Student> arraylist = new TreeSet<>();
// arraylist.add(new Student(120, "张三"));
// arraylist.add(new Student(120, "李四"));
// arraylist.add(new Student(120, "23"));
arraylist.add(new Student(23, "ADAWE"));
arraylist.add(new Student(23, "ADAWE"));
arraylist.add(new Student(23, "ADAWE"));
System.out.println(arraylist);
}
}