Arrays类

发布时间 2023-11-26 21:50:53作者: Cloudhahaha
package array;


import java.util.Arrays;

public class ArrayDemo06 {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,9090,31231,543,21,3,23};
        int[] b = {1,2,3,4,5,6,7,8,9,10,11};
        System.out.println(a);// [I@1b6d3586
        //1.打印数组元素 ① Arrays.toString
        System.out.println(Arrays.toString(a));//Arrays的A大写代表一个类
        //2.打印数组元素 ②
        printArray(a);
        //3.排序
        Arrays.sort(a);//排序升序
        System.out.println(Arrays.toString(a));
        //4.给数值赋值 fill
        Arrays.fill(a,0);//a,0 就可以了 所有都变为0
       // System.out.println(Arrays.toString(a));
        Arrays.fill(a,2,4,0);
        System.out.println(Arrays.toString(a));
        /*
         左闭右开区间[2,4)是因为数组也是左开右闭
         把第2 3个下标的元素变成0
         */
        //5.通过equals方法比较数组中的元素值是否相等
         if (Arrays.equals(a,b)){
             System.out.println("a数组和b数组相等");
         }else {
             System.out.println("a数组和b数组不相等");
         }
         //6.查找数组元素:通过binarySearch方法能对排好的数组进行二分查找法操作
        int[] chengji = {99,67,34,32,88,21,100};
         Arrays.sort(chengji);//排序升序操作
        int index = Arrays.binarySearch(chengji, 34);
        /*格式:数组名称,要查找的数字
          查询 34所在该数组的下标值
           需要把下标返回出来 所以要进行接收Alt+Enter 再Enter
           index可以自己命名
         */
        System.out.println("下标为:"+index);//2
        /*
        如果没有排序上边输出-7
        所以在使用该方法对数组查询之前必须对数组排序
         */
        chengji[index] = 29;
        /*
          49行通过下标更改元素
          Arrays.fill(chengji,2,4,29);这个方法只可以至少更改一个元素
         */

        for (int i = 0; i < chengji.length; i++) {
            System.out.println(chengji[i]);
        }
        //循环遍历元素






    }
    //打印数组元素 ②
    public static void printArray(int[] a){
        for (int i = 0; i < a.length; i++) {
            if (i==0){
                System.out.print("[");
            }

            if (i==a.length-1){//长度是10 但是数字是从0开始数的共数到9就所有数完啦 所以要减1
                System.out.print(a[i]+"]");
            }else {
                System.out.print(a[i]+", ");
            }


        }

    }
}