Java:数组工具类Arrays类的常用方法的用法及代码

1,void sort(array) //排序

对数组array的元素进行升序排列

        //Arrays.sort(dataB );
        //数组排序
        Arrays.sort(dataB );
        for(int a:dataB)
            System.out.print(a+"   ");

2,boolean equals(array1,array2) //判相等

比较两个数组是否相等,
Arrays.equals(data1,data2) 相等返回true,不相等返回false

        //比较两个数组是否相等
        //boolean equals(array1,array2)
        //Arrays.equals(data1,data2) 相等返回true,不相等返回false
        int[] data1 = new int[] {1,2,3,4,5};
        int[] data2 = new int[] {1,2,3,4,5};
        int[] data3 = new int[] {1,2,3,4,6};
        System.out.println(Arrays.equals(data1,data2));
        System.out.println(Arrays.equals(data1,data3));

3.String toString(array)//变成字符串

把数组array转换成一个字符串

//String toString(array):把数组array转换成一个字符串。
        int[] data5 = new int[] {1,2,3,4,5};
        System.out.println(Arrays.toString(data5));

4、void fill(array,val) 把数组array所有元素都赋值为val。


        //void fill(array,val):把数组array所有元素都赋值为val。
        int[] data6 = new int[] {1,2,3,4,5};
        Arrays.fill(data6,6);
        System.out.println(Arrays.toString(data6));

输出为【6,6,6,6,6】。

5、int binarySearch(array,val)查询元素值val在数组array中的下标

        //int binarySearch(array,val):
        // 查询元素值val在数组array中的下标
        int[] data7 = new int[] {1,2,3,4,5};
        System.out.println(Arrays.binarySearch(data7,3));

6、copyof(array,length)把数组array复制成一个长度为length的新数组。

        //copyof(array,length):把一个原有的数组内容复制到一个新数组中
        int[] data8={1,2,3};
        //将data8的内容复制到数组b中
        int[] b=Arrays.copyOf(data, data8.length);
        System.out.println(Arrays.toString(b));
        b[2]=100;
        //b与data8指向不同的堆空间
        System.out.println("改变b[2]的值后原数组的值"+Arrays.toString(data8));
        //引用,c与data8指向相同的堆空间
        int[] c=data8;
        c[2]=100;
        System.out.println("改变c[2]的值后原数组的值"+Arrays.toString(data8));

7.System.arraycopy //部分复制

System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称, 被改变数组复制开始索引 ,长度);
将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始

 //数组复制
        // System.arraycopy(data,4,dataB,2,3);
        // System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称,
        //                           被改变数组复制开始索引 ,长度);
        //将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始
        System.arraycopy(data,4,dataB,2,3);

        for(int a:dataB)
            System.out.print(a+"   ");
        System.out.println();
package Chapter03;

import java.util.Arrays;

public class ArraysTest {

    public static void main(String[] args) {

        int[] data =new int[] {4,5,9,6,3,8,7,1,2};
        int[] dataB = new int[] {11,55,22,44,77,88,99,33,66};

        //数组复制
        // System.arraycopy(data,4,dataB,2,3);
        // System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称,
        //                           被改变数组复制开始索引 ,长度);
        //将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始
        System.arraycopy(data,4,dataB,2,3);

        for(int a:dataB)
            System.out.print(a+"   ");
        System.out.println();


        //Arrays.sort(dataB );
        //数组排序
        Arrays.sort(dataB );
        for(int a:dataB)
            System.out.print(a+"   ");
        System.out.println();


        //比较两个数组是否相等
        //boolean equals(array1,array2)
        //Arrays.equals(data1,data2) 相等返回true,不相等返回false
        int[] data1 = new int[] {1,2,3,4,5};
        int[] data2 = new int[] {1,2,3,4,5};
        int[] data3 = new int[] {1,2,3,4,6};
        System.out.println(Arrays.equals(data1,data2));
        System.out.println(Arrays.equals(data1,data3));

        //String toString(array):
        // 把数组array转换成一个字符串。
        int[] data5 = new int[] {1,2,3,4,5};
        System.out.println(Arrays.toString(data5));

        //void fill(array,val):
        // 把数组array所有元素都赋值为val。
        int[] data6 = new int[] {1,2,3,4,5};
        Arrays.fill(data6,6);
        System.out.println(Arrays.toString(data6));


        //int binarySearch(array,val):
        // 查询元素值val在数组array中的下标
        int[] data7 = new int[] {1,2,3,4,5};
        System.out.println(Arrays.binarySearch(data7,3));

        //copyof(array,length):把一个原有的数组内容复制到一个新数组中
        int[] data8={1,2,3};
        //将data8的内容复制到数组b中
        int[] b=Arrays.copyOf(data, data8.length);
        System.out.println(Arrays.toString(b));
        b[2]=100;
        //b与data8指向不同的堆空间
        System.out.println("改变b[2]的值后原数组的值"+Arrays.toString(data8));
        //引用,c与data8指向相同的堆空间
        int[] c=data8;
        c[2]=100;
        System.out.println("改变c[2]的值后原数组的值"+Arrays.toString(data8));

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值