请教 在程序中是谁在调用comparable 和comparator的方法?他们的返回值有什么用能决定排序元素的位置吗 是JVM在后台使用他们的吗?  
那位大哥能把collections.sort()的排序流程说下哈~

解决方案 »

  1.   

    sort的时候,和放在一些有序集合的时候会调
      

  2.   

    有序集合类TreeSet和TreeMap类以及工具类Collections,Arrays类会用到Comparable.compareTo()方法, Collections.sort()会调用Arrays.sort()方法,而后者是通过调用元素的compareTo()方法来比较大小,从而实现排序. 如果元素没有实现Comparable接口,就需要传递一个Comparator的实现类给Collections.sort()方法或Arrays.sort()方法.
      

  3.   

    如果理解了Thread 和Runnable,这个就不难懂了~
      

  4.   

    比如A.compareTo(B)返回-1表示A逻辑上小于B,0表示A逻辑上等于B,1表示A逻辑上大于B, 工具类Collections和Arrays据此来实现内部元素的排序