- class T implements Comparable<T>{
- public int x=10;
- public T(){}
- public T(int t){
- x = t;
- }
- @Override
- public int compareTo(T o) {
- System.out.println("T"+x);
- return 0;
- }
- }
- class TT extends T{
- public TT(int t){
- x = t;
- }
- @Override
- public int compareTo(T o) {
- System.out.println("TT"+x);
- return 0;
- }
- }
- public class Main{
- public static void main(String[] as) {
- TreeSet<T> set = new TreeSet<T>();
- set.add(new T(1));
- set.add(new TT(11));
- set.add(new T(2));
- set.add(new T(3));
- set.add(new TT(20));
- set.comparator();
- }
- }
- /*输出:
- TT11
- T2
- T3
- TT20
- 我的理解是:按照添加的顺序,第一个和第二个比较,用后者的compareTO方法,再第二个和第三个比较,再用后者的compareTo方法。*/
复制代码 |