まず、ツールの配列
パッケージ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はは( "残念ながら、それを見つけていません!" ); } } }