11.二つの配列

まず、ツールの配列

パッケージcom.atguigu.java; 

インポートjava.util.Arrays; 

/ * 
 * java.util.Arrays:配列演算ツール、アレイ動作の方法定義多くは
 * 
 * 
 * / 
パブリック クラスArraysTest {
     パブリック 静的 ボイドメイン(文字列[]引数){ 
        
        // 1.boolean等号(INT [] A、INT [] B)2つの配列が同じであるかどうかを決定します。
        INT ARR1 =の[] 新しい新しい INT [] {1,2,3,4 };
         INT [] = ARR2は、新しい新しい INT [] {1,3,2,4- };
         ブール isEquals = をArrays.equals(ARR1の、ARR2である)こと。
        System.out.println(isEquals); // falseを
        
        // 2.StringのtoString(INT [] A)情報出力アレイ。
        System.out.println(Arrays.toStringの(ARR1の)); 
        
            
        // 3.voidフィル(INT [] A、INTヴァル):指定された値は、アレイに充填されます。
        Arrays.fill(arr1,10 
        のSystem.out.println(Arrays.toString(ARR1の)の); 
        

        // 4.voidソート(INT [] A):ソートアレイ。
        Arrays.sort(ARR2である); 
        のSystem.out.println(のArrays.toString(ARR2である)); 
        
        // 5.int binarySearch(INT [] A、INTキー)
        INT [] = ARR3 新しい新規 のint [] { - 98、 - 34,2,34,54,66,79,105,210,333 };
         int型のインデックス= Arrays.binarySearch(ARR3、210 );
         IF(インデックス> = 0 ){
            System.out.println(インデックス)。
        } { 
            System.out.printlnは( "未找到" )。
        } 
        
        
    } 
}

第二に、関連するアルゴリズムのアレイ

パッケージcom.atguigu.java;
 / * 
 *テストアルゴリズム:最大配列要素の値、最小値、平均値、合計値等を見つける
 *を
 *それぞれ割り当てられた10個の要素を含む、int型の一次元配列を定義ランダム整数、
 *およびすべての要素の最大値と、次に、最小値、および平均値の値と出力します。    
 *要件:すべては二桁の番号をランダム化し。
 * 
 * [10,99] 
 *式:(INT)(Math.random()*(99から10 + 1)+ 10)
 * 
 * / 
パブリック クラスArrayTest1 {
     公共 静的 ボイドメイン(文字列[]引数){
         INT [ ] = ARR 新しい新しい INT [10 ]; 
        
        のためにINT Iは= 0; I <arr.length; I ++ ){ 
            ARR [I] =(INT)(Math.random()*(99から10 + 1)+ 10 )。
        } 
        
        // 遍历
        ためINT I = 0、I <arr.length; I ++ ){ 
            System.out.print(ARR [I] + "\ T" )。
        } 
        のSystem.out.println(); 
        
        // 求数组元素的最大值
        INT maxValueのARR = [0 ]。
        以下のためにINT ; I <arr.length; iが1 = I ++ ){
             場合(maxValueの< ARR [I]){ 
                maxValueの = ARR [I]。
            } 
        } 
        のSystem.out.println( "最大值为:" + maxValueの)。
        
        // 配列要素の最小値を見つける
        INT [0 =のminValue ARRを];
         のためにINT I = 1; I <arr.length; I ++ ){
             IF(のminValue> ARR [I]){ 
                のminValue = ARR [I]; 
            } 
        } 
        のSystem.out.println( "最小値は" + のminValue);
         // 必要な配列要素の和
        をint和= 0 ;
         のためのINT I = 0; I <arr.length; I ++ ){ 
            SUM + = ARR [ I]; 
        } 
        System.out.printlnは( "合計:" +SUM);
         // 配列の要素の平均数は、必要
        INT AvgValue = SUM / arr.lengthと、
        のSystem.out.println( "平均である:" + AvgValue); 
    } 
}
パッケージcom.atguigu.java;
 / * 
 *テストアルゴリズム:配列複製、逆引き(線形サーチ、バイナリサーチ)
 * 
 * 
 * / 
パブリック クラスArrayTest2 { 
    
    公共 静的 ボイド主は、(文字列[]引数){ 
        
        文字列[] ARR = 新しい新しい文字列[] { "JJ"、 "DD"、 "MM"、 "BB"、 "GG"、 "AA" }; 
        
        
        //は、配列変数の割り当てとは異なるように(配列のコピー:ARR1 = ARR ) 
        文字列[] ARR1 =の新しい新しい文字列[arr.length];
         のためのINT I = 0; I <arr1.length; I ++ ){ 
            ARR1の[I] = ARR [I]。
        } 
        
        // 配列を逆
         //方法一:
 //         ため(INT I = 0、I <arr.length / 2; I ++){
 //             文字列のTEMP = ARR [I]。
//             ARR [I] = ARR [arr.length - I -1]。
//             ARR [arr.length - I -1] = TEMP。
//         } 
        
        // 方法二:
 //         ため(INT iがJ = arr.length、0 = - 1、I <J、I ++、J - ){
 //             文字列のTEMP = ARR [I]。
//             ARR [I] = ARR [J]。
//             ARR [J] = TEMP;
//         } 
        
        // 遍历
        ためINT I = 0、I <arr.length; I ++ ){ 
            System.out.print(ARR [I]+ "\ T" ); 
        } 
        
        System.out.printlnは(); 
        // 検索(または検索)
         // 線形検索: 
        文字列= DEST "BB" ; 
        DEST = "CC" ; 
        
        ブール isFlag = trueに; 
        
        のためint型私は、 0 =; I <arr.length; I ++ ){ 
            
            IF (dest.equals(ARR [I])){ 
                するSystem.out.printlnは( "指定された要素の位置を見つける:" + I)を、
                isFlag = falseにBREAK ; 
            } 
            
        } 
        IF (isFlag){
            のSystem.out.println(「!残念ながら、それを見つけていない」); 
            
        } 
        // バイナリサーチ:(おなじみ)
         // 前提条件:検索する配列を注文する必要があります。
        INT [] = ARR2は、新しい新しい INT - {98、-34,2,34,54,66,79,105,210,333 [] ;} 
        
        int型 DEST1 = -34 ; 
        DEST1 = 35 ;
         int型ヘッド= 0; // 最初の最初のインデックス
        int型エンドarr2.length = - 1; // 最後の初期指標
        ブール isFlag1 = trueに一方(ヘッド<= 端){ 
            
            int型ミドル=(エンドヘッド+)/ 2 ; 
            
            IF(DEST1 == ARR2は、[中間]です){ 
                のSystem.out.println( "指定された要素の位置を見つける:" + 中); 
                isFlag1 = falseにBREAK ; 
            } そう IF(ARR2は、[中間]であるが> DEST1){ 
                終了。=中間- 1 ; 
            } 他に { // ARR2は、[中] <DEST1のである 
                。ヘッド=中東+ 1 ; 
            } 

            
        } 
        
        IF (isFlag1){ 
            System.out.printlnはは( "残念ながら、それを見つけていません!" ); 
        } 
        
        
    } 
}

おすすめ

転載: www.cnblogs.com/xingqisan/p/12114205.html