import java.util.Comparator;
import java.util.TreeSet;
/**
TreeSet中添加的数据必须是相同类的对象,没有(按照定义的判断逻辑上)相等的元素。
并且,对象必须实现Comparable接口,重写compareTo()方法 --------->自然排序
或者在TreeSet构造方法中给定Comparator接口的实现 --------->定制排序
*/
public class TreeSetTest {
public static void main(String[] args) {
//定制排序
/** TreeSet treeSet = new TreeSet(new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return 0;
}
});
*/
TreeSet treeSet = new TreeSet();
treeSet.add(new Student(12, "Hickey"));//调用compareTo()方法
treeSet.add(new Student(12, "Hickey"));
for (Object o : treeSet) {
System.out.println("o = " + o);
}
}
}
class Student implements Comparable{
int age;
String name;
public Student() {
}
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Object other){
System.out.println("aa");
return this.age - ((Student)other).age;
}
}