黑马程序员技术交流社区

标题: TreeSet集合定制排序的实现 [打印本页]

作者: 沉湎码海    时间: 2017-2-14 21:55
标题: TreeSet集合定制排序的实现
/*
        案例:TreeSet集合定制排序的实现
       
       
*/

import java.util.*;

class         M{
       
        int  age;
       
                //定义构造函数
        public  M(int  age){
               
                this.age=age;
               
        }
       
        public  String toString(){
               
                return "M对象(age:"+age+")";
        }
}



//定义一个测试类

public   class   TestTreeSet3{
       
        public  static  void main(String[] args){
               
               
                        //此处使用了匿名内部类对象
                TreeSet  ts =  new  TreeSet(new Comparator(){
                        public  int  compare(Object o1,Object o2){
                               
                                M  m1 =(M) o1;
                                M  m2 =(M) o2;
                                if(m1.age>m2.age){
                                        return -1;
                                       
                                }else if(m1.age==m2.age){
                                        return 0;
                                }else {
                                        return 1;
                                }
                               
                        }//关键是此处的compare()方法的返回值,返回给谁了?是怎么对待compare()方法的返回值的??
                       
                       
                });
               
                ts.add(new M(5));
                ts.add(new M(-3));
                ts.add(new M(9));
               
                System.out.println(ts);
               
        }
}

/*
        运行结果:
       
                       
C:\Users\sa\Desktop\集合\集合代码测试>javac  TestTreeSet3.java
注: TestTreeSet3.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

C:\Users\sa\Desktop\集合\集合代码测试>java  TestTreeSet3
[M对象(age:9), M对象(age:5), M对象(age:-3)]

C:\Users\sa\Desktop\集合\集合代码测试>


*/






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2