隨筆-9  評論-2  文章-0  trackbacks-0
          main方法:
          public class Test {

              
          public static void main(String[] args) {
                  
          /**
                   * 
                   * sort()方法詳解
                   * 1.Collections.sort(List<T> list) 
                   *         根據(jù)元素的自然順序 對指定列表按升序進行排序。
                   * 2.Collections.sort(List<T> list, Comparator<? super T> c) 
                   *         根據(jù)指定比較器產(chǎn)生的順序?qū)χ付斜磉M行排序。
                   * 
                   
          */
                  List
          <Integer> list = new ArrayList<Integer>();
                  list.add(
          3);
                  list.add(
          1);
                  list.add(
          2);
                  
          //自然順序
                  Collections.sort(list);
                  
          for(Integer i:list){
                      System.out.println(i);
                  }
                  
                  System.out.println(
          "===============================================");
                  
                  Point point2 
          = new Point(2,2,2);
                  Point point1 
          = new Point(1,1,1);
                  Point point3 
          = new Point(3,1,2);
                  
                  List
          <Point> points = new ArrayList<Point>();
                  points.add(point2);
                  points.add(point1);
                  points.add(point3);
                  
                  System.out.println(
          "===============================================");
                  
          //根據(jù)point中的升序輸出
                  Collections.sort(points, new SortByXdesc());
                  
          for(Point point:points){
                      System.out.println(
          "x:"+point.getX()+" y:"+point.getY()+" z:"+point.getZ());
                  }
                  
                  System.out.println(
          "===============================================");
                  
          //根據(jù)point中的x降序輸出
                  Collections.sort(points, new SortByXasc());
                  
          for(Point point:points){
                      System.out.println(
          "x:"+point.getX()+" y:"+point.getY()+" z:"+point.getZ());
                  }
              }

          }

          降序輸出類SortByXdesc:

          public class SortByXdesc implements Comparator<Object> {

              
          //根據(jù)point中的x降序輸出
              @Override
              
          public int compare(Object o1, Object o2) {
                  Point point1 
          =(Point)o1;
                  Point point2 
          =(Point)o2;
                  
          if(point1.getX()>point2.getX()){
                      
          return 1;
                  }
          else{
                      
          return 0;
                  }
              }

          }

          升序輸出類SortByXasc:

          public class SortByXasc implements Comparator<Object> {

              
          //根據(jù)point中的x升序輸出
              @Override
              
          public int compare(Object o1, Object o2) {
                  Point point1 
          =(Point)o1;
                  Point point2 
          =(Point)o2;
                  
          if(point1.getX()>point2.getX()){
                      
          return 0;
                  }
          else{
                      
          return 1;
                  }
              }
          }

          posted on 2011-06-22 16:03 secret_x15 閱讀(6489) 評論(1)  編輯  收藏 所屬分類: java

          評論:
          # re: sort()排序 collections.sort(); 2011-12-03 12:04 | think
          靠,你寫反了,=1或者是正數(shù)才是升序,你咋 弄成降序了呢  回復(fù)  更多評論
            
          主站蜘蛛池模板: 临漳县| 池州市| 周宁县| 虞城县| 酒泉市| 和龙市| 昌邑市| 偃师市| 庆元县| 黔南| 京山县| 安平县| 彩票| 舞阳县| 额敏县| 赤水市| 本溪市| 芦山县| 龙胜| 寻乌县| 井冈山市| 安福县| 桓仁| 额尔古纳市| 且末县| 扎兰屯市| 泸水县| 西吉县| 元氏县| 新干县| 和林格尔县| 贵州省| 兴安县| 玉山县| 绵阳市| 井研县| 瑞昌市| 饶阳县| 达州市| 屏南县| 嘉义市|