• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            為生存而奔跑

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團隊

            搜索

            •  

            積分與排名

            • 積分 - 328615
            • 排名 - 74

            最新評論

            閱讀排行榜

            評論排行榜

            1、假設定義了一個對象TypeName,TypeName[] t=new TypeName[30],這條語句只是申請了30個指向TypeName類型的引用,并沒有申請30個TypeName類型的對象。如果要使用,必須依次重新申請
            for(int i=0;i<30;i++)
              t[i]=new TypeName();
            2、對對象數(shù)組進行排序等操作,需要在該對象上實現(xiàn)comparable接口。然后直接調(diào)用Arrays.sort(對象數(shù)組名)。如果要指定排序區(qū)間,可以Arrays.sort(對象數(shù)組名,i,j).這表示從該數(shù)組的下標為i處開始到下標為j-1處排序。
            3、Comparable   &   Comparator   都是用來實現(xiàn)集合中的排序的,只是Comparable是在集合內(nèi)部定義的方法實現(xiàn)的排序,Comparator是在集合外部實現(xiàn)的排序,所以,如想實現(xiàn)排序,就需要在集合外定義Comparator接口的方法   或   在集合內(nèi)實現(xiàn)Comparable接口的方法。 
              具體請看   <Thinking   in   java>

            Comparable是一個對象本身就已經(jīng)支持自比較所需要實現(xiàn)的接口(如String   Integer自己就可以完成比較大小操作)  
               
              而Comparator是一個專用的比較器,當這個對象不支持自比較或者自比較函數(shù)不能滿足你的要求時,你可以寫一個比較器來完成兩個對象之間大小的比較。       
                
              可以說一個是自已完成比較,一個是外部程序?qū)崿F(xiàn)比較的差別而已。

            用Comparator是策略模式(strategy   design   pattern),就是不改變對象自身,而用一個策略對象(strategy   object)來改變它的行為。  
               
              比如:你想對整數(shù)采用絕對值大小來排序,Integer是不符合要求的,你不需要去修改Integer類(實際上你也不能這么做)去改變它的排序行為,只要使用一個實現(xiàn)了Comparator接口的對象來實現(xiàn)控制它的排序就行了。  

               1.  //AbsComparator.java      
               2.   import   java.util.*;      
               
            3.   public   class   AbsComparator   implements   Comparator   {      
               
            4.       public   int   compare(Object   o1,   Object   o2)   {      
               
            5.           int   v1   =   Math.abs(((Integer)o1).intValue());      
               
            6.           int   v2   =   Math.abs(((Integer)o2).intValue());      
               
            7.           return   v1   >   v2   ?   1   :   (v1   ==   v2   ?   0   :   -1);      
               
            8.       }      
               
            9.   }      
              
            10.        
              
            11.   可以用下面這個類測試AbsComparator:      
              
            12.        
              
            13.   //Test.java      
              14.   import   java.util.*;      
              
            15.        
              
            16.   public   class   Test   {      
              
            17.       public   static   void   main(String[]   args)   {      
              
            18.        
              
            19.           //產(chǎn)生一個20個隨機整數(shù)的數(shù)組(有正有負)      
              20.           Random   rnd   =   new   Random();      
              
            21.           Integer[]   integers   =   new   Integer[20];      
              
            22.           for(int   i   =   0;   i   <   integers.length;   i++)      
              
            23.           integers[i]   =   new   Integer(rnd.nextInt(100)   *   (rnd.nextBoolean()   ?   1   :   -1));      
              
            24.        
              
            25.           System.out.println("用Integer內(nèi)置方法排序:");      
              
            26.           Arrays.sort(integers);      
              
            27.           System.out.println(Arrays.asList(integers));      
              
            28.        
              
            29.           System.out.println("用AbsComparator排序:");      
              
            30.           Arrays.sort(integers,   new   AbsComparator());      
              
            31.           System.out.println(Arrays.asList(integers));      
              
            32.       }      
              
            33.   }     



            posted on 2009-10-22 16:18 baby-fly 閱讀(484) 評論(0)  編輯 收藏 引用 所屬分類: Java
            久久伊人五月天论坛| 婷婷久久综合九色综合九七| 中文字幕人妻色偷偷久久 | 亚洲国产成人久久一区WWW| 国产99久久久久久免费看| 国产精品久久久久久久午夜片| 国内精品伊人久久久久影院对白| 久久久久久无码国产精品中文字幕| 亚洲性久久久影院| 久久免费的精品国产V∧| 久久精品国产精品青草app| 久久无码一区二区三区少妇| 久久久久久久波多野结衣高潮| 久久99久久99精品免视看动漫| 久久se精品一区精品二区国产| 精品综合久久久久久98| 久久久精品午夜免费不卡| 久久久久亚洲AV成人网| 人妻无码久久一区二区三区免费| 亚洲一区中文字幕久久| 久久频这里精品99香蕉久| 国产亚洲色婷婷久久99精品| 亚洲欧洲精品成人久久曰影片| 久久精品国产亚洲AV无码偷窥| 久久久久99精品成人片| 国产成人精品免费久久久久| 香蕉99久久国产综合精品宅男自| 99久久99久久久精品齐齐| 97精品伊人久久久大香线蕉| 国产午夜精品久久久久九九| 久久精品国产第一区二区三区| 日韩十八禁一区二区久久| 久久精品国产福利国产秒| 狠狠色噜噜色狠狠狠综合久久 | 日产精品久久久久久久| 99久久亚洲综合精品成人| 久久国产精品无码一区二区三区| 久久免费看黄a级毛片| 久久久精品国产| 国产精品久久久久久久人人看| 久久天天日天天操综合伊人av|