import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetTest2
{
public static void main(String[] args)
{
TreeSet set = new TreeSet(new PersonComparator());
Person p1 = new Person(10);
Person p2 = new Person(20);
Person p3 = new Person(30);
Person p4 = new Person(40);
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
for(Iterator iter = set.iterator(); iter.hasNext();)
{
Person p = (Person)iter.next();
System.out.println(p.score);
}
}
}
class Person
{
int score;
public Person(int score)
{
this.score = score;
}
public String toString()
{
return String.valueOf(this.score);
}
}
class PersonComparator implements Comparator
{
public int compare(Object o1, Object o2)
{
Person p1 = (Person)o1;
Person p2 = (Person)o2;
return p1.score - p2.score;
//倒序
//return p2.score - p1.score;
}
}
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetTest3
{
public static void main(String[] args)
{
TreeSet set = new TreeSet(new MyComparator());
set.add("C");
set.add("A");
set.add("B");
set.add("E");
set.add("F");
set.add("D");
for(Iterator iter = set.iterator(); iter.hasNext();)
{
String value = (String)iter.next();
System.out.println(value);
}
}
}
class MyComparator implements Comparator
{
public int compare(Object o1, Object o2)
{
String s1 = (String)o1;
String s2 = (String)o2;
return s2.compareTo(s1);
}
}