JDK中提供了一個專門用于操作數組的工具類,即 Arrays 類,位于 Java。util 包中。該類提供了一系列方法來操作數組,如排序、復制、比較、填充等,用戶直接調用這些方法即可,不需要自己編碼實現,降低了開發難度。
Arrays 類常用方法
?
public static void main(String[] args) {//equals()方法用于比較兩個數組是否相等。只有當兩個數組長度相等,且對應位置的元素也一一相等時,該方法返回 true;否則返回false。//sort()方法對數組的元素進行升序排列,即以小到大順序排列。//toString()方法將數組轉換為字符串。//fill()方法替換數組的所有元素為相同的元素。//copyOf()方法將數組復制成一個長度為設定值得新數組。//binarySearch()方法查詢數組元素在數組中的下標。int[] arr1= {10,40,30,20,50};int[] arr2= {10,20,30,40,50};//使用 Arrays 類 equals 方法比較arr1和 arr2 的長度即元素是否相等System.out.println("用equals比較后:"+Arrays.equals(arr1, arr2));//替換數組元素 統一替換Arrays.fill(arr1,30); System.out.println("用fill替換后:"+Arrays.toString(arr1));//復制長度4的數組int[] arr3 = Arrays.copyOf(arr1,3);System.out.println("復制數組后:"+Arrays.toString(arr3));//升序 Arrays.sort(arr1);//查詢某個元素在數組的下標int index = Arrays.binarySearch(arr1, 30);System.out.println("查找元素下標:"+index);}
輸出結果:
用equals比較后:false用fill替換后:[30, 30, 30, 30, 30]復制數組后:[30, 30, 30]查找元素下標:2
?
?
?
》使用Arrays 對數組升序排序
public static void main(String[] args) {Scanner input = new Scanner(System.in);//聲明一個成績數組int[] scores =new int[5];//循環錄入學生成績for (int i = 0; i < scores.length; i++) {System.out.println("輸入第"+i+"名學生的成績:");scores[i]=input.nextInt();}//升序排序前學員成績循環輸出System.out.println("升序排序前:");for (int i = 0; i < scores.length; i++) {System.out.print(scores[i]+"\t");}Arrays.sort(scores); //對數組進行升序排序 System.out.println("\n升序后:");for (int i = 0; i < scores.length; i++) {System.out.print(scores[i]+"\t");}}
?
?
》通過compareToIgnoreCase 比較兩個字符串的大小
public static void main(String[] args) {Scanner input = new Scanner(System.in);String[] musics =new String[5];musics[0]="Island";musics[1]="Ocean";musics[2]="Pretty";musics[3]="Sun";int index=musics.length-1;System.out.print("插入前的數組為:");for (int i = 0; i < musics.length; i++) {if(musics[i]==null) //為null的時候跳出break;System.out.print(musics[i]+"\t");}System.out.println("\n請輸入歌曲名稱:");String music =input.next();//查找要插入元素的下標for (int i = 0; i < musics.length; i++) {if(musics[i].compareToIgnoreCase(music)>0){System.out.println(musics[i].compareToIgnoreCase(music));index=i;break;}}//數組元素后移for (int i =musics.length-1 ; i> index; i--) {musics[i] = musics[i-1];}musics[index]=music;System.out.println("插入下標為:"+index);System.out.print("插入后的數組為:");for (int i = 0; i < musics.length; i++) {System.out.print(musics[i]+"\t");}}
?
?