Java TreeSet

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;
    }
}
posted @ 2021-03-06 15:42  HickeyZhang  阅读(75)  评论(0编辑  收藏  举报