import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class Person implements Comparable{
int id;
int age;
String name;
@Override
public String toString() {
return “Person [id=” + id + “, age=” + age + “, name=” + name + “]”;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(int id, int age, String name) {
super();
this.id = id;
this.age = age;
this.name = name;
}
@Override
public int compareTo(Object o) {
if (!(o instanceof Person))
throw new RuntimeException("不是人对象");
Person p = (Person) o;
if (this.id > p.id)
return 1;
if (this.id == p.id){
return this.name.compareTo(p.name);
}
return -1;
}
public static void main(String[] args) {
Set set = new TreeSet();
Person p1 = new Person(1,10,"小明");
Person p2 = new Person(2,20,"小李");
Person p3 = new Person(3,8,"小王");
Person p4 = new Person(4,15,"小张");
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
Iterator it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
运行结果:
Person [id=1, age=10, name=小明]
Person [id=2, age=20, name=小李]
Person [id=3, age=8, name=小王]
Person [id=4, age=15, name=小张]