java基础篇之字符串数组按照ascll码排序

public void order(List list) throws Exception{

    List listChar = new ArrayList();

            //1.把list数组中的每个字符串 转为字符数组

    for(int i = 0; i < list.size(); i++){
        listChar.add(list.get(i).toCharArray());
    }

    List listCharO = listChar;

            //2.循环数组listChar取出每一个进行冒泡排序比较

    for(int a = 0;a     for(int b = 0;b < listChar.size(); b++){
    char[] achar = listChar.get(a);

    char[] bchar = listChar.get(b);

                        //相同的就不需要比较

    if(achar!=bchar){

    int size = 0;

                        //可能会存在前面都一样的字符所有取字符数组长度小的 来进行循环比较 字符的ascll

    if(achar.length>bchar.length){
    size = bchar.length;
    }else{
    size = achar.length;

    }

                              //循环比较赋值

    for(int c = 0;c     if((int)achar[c] > (int)bchar[c]){
    if(a     listCharO.set(b, achar);
    listCharO.set(a, bchar);
    /*for(int i = 0; i< listCharO.size() ;i++){
    System.out.println(String.valueOf(listCharO.get(i)));
    }*/
    break;
    }
    }else if((int)achar[c] == (int)bchar[c]){
   
    }else if((int)achar[c] < (int)bchar[c]){
    break;
    }
    }
    }
   
   
    }

    }

            for(char[] s: listCharO){

            System.out.println(String.valueOf(s))

}

   

}

你可能感兴趣的:(java基础篇)