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

              
          public static void main(String[] args) {
                  
          /**
                   * 
                   * sort()方法詳解
                   * 1.Collections.sort(List<T> list) 
                   *         根據元素的自然順序 對指定列表按升序進行排序。
                   * 2.Collections.sort(List<T> list, Comparator<? super T> c) 
                   *         根據指定比較器產生的順序對指定列表進行排序。
                   * 
                   
          */
                  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(
          "===============================================");
                  
          //根據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(
          "===============================================");
                  
          //根據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> {

              
          //根據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> {

              
          //根據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或者是正數才是升序,你咋 弄成降序了呢  回復  更多評論
            
          主站蜘蛛池模板: 仪陇县| 宁南县| 建水县| 隆尧县| 石阡县| 陕西省| 嵊泗县| 长治市| 侯马市| 时尚| 城固县| 六枝特区| 郁南县| 克东县| 昌黎县| 日土县| 资兴市| 张家口市| 萨迦县| 依兰县| 外汇| 厦门市| 甘肃省| 迁安市| 安义县| 武冈市| 乌兰县| 阿拉善左旗| 泰顺县| 惠东县| 天津市| 正蓝旗| 肥东县| 偃师市| 濮阳市| 苏州市| 淳安县| 读书| 清原| 武定县| 宝丰县|