黑马程序员技术交流社区

标题: 关于自定义比较器的问题 [打印本页]

作者: 陈国华    时间: 2014-12-15 22:51
标题: 关于自定义比较器的问题
自定义比较器。代码运行无结果,有同学看出有什么毛病么,给指点一下,谢谢!
  1. import java.util.Comparator;
  2. import java.util.TreeSet;
  3. import java.util.*;
  4. class Foo {
  5.          int num;
  6.          Foo(int num)
  7.          {
  8.                 this.num = num;
  9.          }
  10.          public int getNum() {
  11.           return num;
  12.          }
  13. }
  14. class MyComparator implements Comparator {

  15.          public int compare(Object o1,Object o2) {
  16.                  Foo f1 = (Foo)o1;
  17.                  Foo f2 = (Foo)o2;
  18.           
  19.           if (f1.getNum() > f2.getNum())
  20.           {
  21.            return 1;
  22.           }
  23.           else if (f1.getNum() == f2.getNum())
  24.           {
  25.            return 0;
  26.           }
  27.           else
  28.           {
  29.            return -1;
  30.           }
  31.         }
  32. }
  33. class comparedemo
  34. {
  35.         public static void main(String[] args)throws Exception{
  36.         TreeSet<Foo> set = new TreeSet<Foo>(new MyComparator());
  37.          set.add(new Foo(1));
  38.          set.add(new Foo(2));
  39.          set.add(new Foo(8));
  40.          set.add(new Foo(5));
  41.         Iterator it = set.iterator();
  42.          while(it.hasNext());
  43.          {
  44.                  Foo str = (Foo)it.next();
  45.                  System.out.println(str.getNum());
  46.          }
  47.         }
  48. }
复制代码





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