comparator中的compare(object o1,object o2)方法的排序原理是什么?它在比较时返回的是1,-1,0。若这样的排序它是按什么顺序:
public int compare(object o1,object o2){     return o1>o2? 1:(o1==o2)?0:-1
很混乱,谢谢帮忙

解决方案 »

  1.   

    compare()方法的结果与对象的equals方法结果一致!
      

  2.   

    Comprator不负责排序的,它只是告诉排序程序两个对象之间的大小。至于如何排序是由排序器(如Collections、TreeMap)来负责
    Compartor如果返回小于0,则排序器认为o1<02;如果等于0则认为o1==o2,如果大于0则认为o1 > o2
      

  3.   

    在使用Collections排序的时候,可以传入一个实现了Comparator接口的比较器也是就是说你的对象会按照这个比较器来进行排序。Collections.sort(list, new MyComparator());
      

  4.   

    你是不是没用过JDK帮助文档啊,建议下个.相当相当有用的!
      

  5.   

    comparator实现客户化排序,如TreeMap(Comparator<? super K> c) 
    TreeSet(Comparator<? super E> c) 
      

  6.   

    comparator的实现的就是这个功能
      

  7.   


    //其实就是告诉JVM  object1和Object2这两个对象的比较方式。返回int类型
                                           1 表示object1>object2
                                      0 表示object1==object2
                                      -1表示object1<objcet2