隨筆-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或者是正數才是升序,你咋 弄成降序了呢  回復  更多評論
            
          主站蜘蛛池模板: 江孜县| 海晏县| 灵台县| 柳林县| 高州市| 曲阜市| 元江| 囊谦县| 滦平县| 沧源| 延安市| 炉霍县| 屏边| 张家界市| 临颍县| 满洲里市| 台北县| 明溪县| 临城县| 呼图壁县| 鹤山市| 武清区| 靖远县| 黄山市| 古交市| 寻乌县| 资中县| 台州市| 乐至县| 东丽区| 定南县| 丰城市| 道孚县| 剑川县| 堆龙德庆县| 同心县| 聂荣县| 万州区| 鹤山市| 万年县| 柘荣县|