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");}}