package collection.set;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSet_Comparator {
public static void main(String[] args) {
TreeSet ts=new TreeSet(new MyComparator());
ts.add(new Person("a003",33));
ts.add(new Person("a033",43));
ts.add(new Person("a023",22));
ts.add(new Person("a03",54));
ts.add(new Person("a013",87));
ts.add(new Person("a83",33));
ts.add(new Person("a83",32));
Iterator iter=ts.iterator();
while(iter.hasNext()){
Person p=(Person)iter.next();
System.out.println(p.getName()+",,,,,,"+p.getAge());
}
}
}
class MyComparator implements Comparator{
public int compare(Object a, Object b) {
if(!(a instanceof Person)||!(b instanceof Person)){
return -1;
}
Person pa=(Person)a;
Person pb=(Person)b;
int num=pa.getName().compareTo(pb.getName());
if(0==num){
return new Integer(pa.getAge()).compareTo(new Integer(pb.getAge()));
}
return num;
}
}
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
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;
}
}