黑马程序员技术交流社区

标题: 关于集合比较性的问题 [打印本页]

作者: 郭孟涛    时间: 2013-2-16 01:00
标题: 关于集合比较性的问题
本帖最后由 郭孟涛 于 2013-2-16 01:02 编辑
  1. //让集合自身具备比较性
  2.                 Set<Student> set = new TreeSet<Student>(new Comparator<Student>(){
  3.                         public int compare(Student student1,Student student2)
  4.                         {
  5.                                 //这条语句可能返回负数,正数或0
  6.                                 int result = student1.getScore()-student2.getScore();
  7.                                 //1、分数相同,就用年龄排序
  8.                                 if(result==0)
  9.                                 {
  10.                                         result = student1.getAge()-student2.getAge();
  11.                                         //2、如果年龄也相同,那就用名字排序
  12.                                         if (result==0)
  13.                                         {
  14.                                                 //3、如果名字也相同,那么就是三个属性相同,即为同一个人了
  15.                                                 result = student1.getName().compareTo(student2.getName());
  16.                                         }
  17.                                 }
  18.                                 return result;
  19.                         }
  20.                 });
  21.                
复制代码
以上代码中 Set<Student> set = 后面还可以写{}大括号这样的代码区域呢?这是一个什么格式呢?在申请情况下可以使用这样的格式呢?



作者: 夏振博    时间: 2013-2-16 01:21
匿名内部类 在不需要重复使用的情况下可以这样使用
作者: 朱玉玺    时间: 2013-2-16 10:28
匿名内部类
作者: 罗海清    时间: 2013-2-16 10:34
       这是匿名内部类,如果这个内部类中要写的方法,的数量不多时,(一般不超过3个),
就可以写匿名内部类,当然你不烦他复杂,随你。
      写法是:new 父类{
                                    方法一(){}
                                    方法二(形参。。。){}
                               }
    作用是:用完一次匿名内部类后,内存可以很快的释放掉。

作者: 顾传文    时间: 2013-2-18 16:13
这是匿名内部类的写法,当实例化一个类后,不需要再使用这个对象时可以这样用。但是当一个类的代码量比较多时最好不要定义成匿名内部类,这样代码的阅读性比较差。
作者: 3Y25    时间: 2013-2-18 17:14

匿名内部类




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