TreeSet为二叉树遵循左 < 中 < 右,所以插入的数据必须可比较(本身可比较或实现Comparable接口)或者主动传入比较器
Comparable为接口,可以被继承,继承后需要重写compareTo方法
Comparator通常作为一个内部类被调用
总结
TreeSet/TreeMap(key) 二叉树: 左 < 中 < 右, 不允许重复 Object对象比较大小, 默认Comparable, 或者使用比较器Comparator class Foo implements Comparable {} -> 类本身是可比较的, 所以可以直接加入到TreeSet中 比较时, 会转换成 Comparable , 调用compareTo方法比较 如果Foo 不是 Comparable类型, 就会抛出 ClassCastException 可以指定一个比较器对象, 比较时使用比较器的compare方法 如果Foo 既是 Comparable类型, 同时在创建二叉树时指定了一个比较器 那么是比较器优先 二叉树默认排序: 中序遍历, 就是由小到大, 也叫升序排序