隨筆-9  評(píng)論-2  文章-0  trackbacks-0
          main方法:
          public class Test {

              
          public static void main(String[] args) {
                  
          /**
                   * 
                   * sort()方法詳解
                   * 1.Collections.sort(List<T> list) 
                   *         根據(jù)元素的自然順序 對(duì)指定列表按升序進(jìn)行排序。
                   * 2.Collections.sort(List<T> list, Comparator<? super T> c) 
                   *         根據(jù)指定比較器產(chǎn)生的順序?qū)χ付斜磉M(jìn)行排序。
                   * 
                   
          */
                  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());
                  }
              }

          }

          降序輸出類(lèi)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;
                  }
              }

          }

          升序輸出類(lèi)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 閱讀(6491) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): java

          評(píng)論:
          # re: sort()排序 collections.sort(); 2011-12-03 12:04 | think
          靠,你寫(xiě)反了,=1或者是正數(shù)才是升序,你咋 弄成降序了呢  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 武邑县| 盐源县| 张家川| 盐山县| 山阳县| 闻喜县| 洛隆县| 阿城市| 丹江口市| 徐水县| 休宁县| 竹山县| 江永县| 南部县| 丹江口市| 珠海市| 闽侯县| 阿巴嘎旗| 浑源县| 辽源市| 深州市| 万盛区| 长兴县| 合阳县| 高安市| 石楼县| 桃源县| 衡水市| 东明县| 班戈县| 福安市| 蒲江县| 革吉县| 沁水县| 太和县| 广昌县| 嘉鱼县| 潢川县| 汝城县| 渝北区| 虞城县|