Java——Arrays类操作数组的工具类

  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]+"	");
        }
        
        Arrays.sort(scores);  //对数组进行升序排序        
        System.out.println("
升序后:");
        for (int i = 0; i < scores.length; i++) {
            System.out.print(scores[i]+"	");
        }

    }

》通过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]+"	");
        }
        System.out.println("
请输入歌曲名称:");
        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]+"	");
        }
    }
原文地址:https://www.cnblogs.com/szj-ang/p/7267753.html