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排  
  求教!!!

解决方案 »

  1.   

    不明白你说的 什么叫用ASCII排序?你这样写当然是用字母排的。
      

  2.   

    Collections.sort方法,默认是按照元素来排序的。
    LZ研究一下  String的compareTo方法,就明白了
     public int compareTo(String anotherString) {
      

  3.   

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

  4.   

    sort()默认按照字母顺序排的
      

  5.   

    ASCII码  意思就是说字母顺序