import java.util.ArrayList;
          import java.util.Collections;
          import java.util.Comparator;
          import java.util.List;

           

          public class ListSortTest {

           /**
            * @param args
            * function:
            * params :
            * return :
            */
           public static void main(String[] args) {
            List list = new ArrayList();
            list.add("131");
            list.add("121");
            list.add("124541");
            list.add("151");
            list.add("151a");
            list.add("151b");
            list.add("1");
            list.add("1a");
            list.add("11111");
            System.out.println("********排序前************");
             for (Object object : list) {
              System.out.println(object.toString());
             }
             System.out.println("********第一次排序結果************");
                 Collections.sort(list); 
                 for (Object object : list) {
               System.out.println(object.toString());
              }
                 System.out.println("********最終排序結果************");
                 sort(list);
                for (Object object : list) {
            System.out.println(object.toString());
           }
                   
           }
               public static List sort(List list){
                for(int i = 0 ;i<list.size()-1;i++){
              for(int j = 1 ;j<list.size()-i;j++){
              int x = compare(list.get(j-1),list.get(j));
              if(x == 1){
               Object obj = null ;
               obj = list.get(j-1);
               list.set(j-1, list.get(j));
               list.set(j, obj);    
              }
              }
             } 
                return list ;
               
               }
           public static  int compare(Object o1, Object o2) {
           
            double a = 0.0;
            double b = 0.0;
           try {
             a = Double.parseDouble(o1.toString());
             b = Double.parseDouble(o2.toString());
           } catch (Exception e) {
            //System.out.println("類型轉換錯誤!");
           }
           if(a!=0.0&&b!=0.0){
            if(a>b)  return 1;
               return -1 ;
           }
           return 0 ;
           }
           
          }



          結果打印:

          ********排序前************
          131
          121
          124541
          151
          151a
          151b
          1
          1a
          11111
          ********第一次排序結果************
          1
          11111
          121
          124541
          131
          151
          151a
          151b
          1a
          ********最終排序結果************
          1
          121
          131
          151
          11111
          124541
          151a
          151b
          1a


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 聂荣县| 讷河市| 红安县| 苍梧县| 巴林右旗| 建昌县| 江津市| 霍林郭勒市| 尼木县| 都兰县| 辽宁省| 象山县| 上杭县| 泗洪县| 东宁县| 新巴尔虎左旗| 清原| 时尚| 嘉黎县| 苍山县| 岳池县| 进贤县| 任丘市| 潼关县| 上栗县| 库尔勒市| 丘北县| 赤峰市| 吴川市| 辛集市| 阳信县| 鄂温| 成武县| 南岸区| 镇安县| 尼勒克县| 淄博市| 英德市| 常宁市| 民乐县| 英吉沙县|