日期:2014-05-19  浏览次数:20599 次

java排序细节问题
public class CollectionsDemo {
  public static void main(String[] args) {
  List<String> names = new ArrayList<String>();
  names.add("Tom");
  names.add("Andy");
  names.add("Black");
  names.add("John");
  names.add("Bill");
   
  Collections.sort(names);
  System.out.println(names); 
   


想问下各位 大大 为什么Collections.sort(names);是按照字母顺序排的 我查看了源代码 没看到用ASCII排  
  求教!!!


------解决方案--------------------
调用的是字符串的compareTo方法进行比较。字符串compareTo方法比较是通过字典序排的,你这个翻源代码不可能没有。
刚才查了一下源码
Collections.sort(names);转到Arrays.sort();
然后归并排序,里面用到了compareTo方法。