美文网首页
数组常用方法

数组常用方法

作者: 零00_ | 来源:发表于2020-10-30 09:44 被阅读0次

数组常用方法:(这些方法是Arrays类下的)
toString():将数组转换成一个字符串
sort():对数组进行升序排序
binarySearch():二分法查找数组中的元素,返回指定数组中指定元素对应的索引。使用前提:进行查找的是一个有序数组
equals():比较两个数组中的元素是否相等。数组元素个数、元素顺序都相同则返回true。 另外,如果两个数组引用都是null,则它们被认为是相等的
copyOf():复制数组,从下标0开始截取一定长度,返回截取出来的新数组
copyOfRange():复制数组,从一段区间的下标开始截取,返回截取出来的新数组
fill():填充数组。fill(arr,ele):将整个数组以元素ele填充。fill(arr,m,n,ele):区间[m,n)以元素ele填充,从下标m开始,到下标n-1结束

import java.util.Arrays;
public class TestArray12{
    public static void main(String[] args){
        //给定一个数组
        int[] arr = {22,99,123,45,450,66,888};
        //toString:对数组进行遍历,返回数组转换成的一个字符串
        System.out.println(Arrays.toString(arr));
        //binarySearch:二分法查找---返回指定数组中指定元素对应的索引,使用前提:查找的是一个有序的数组
        //对无序数组查找,不能返回元素正常对应索引
        System.out.println(Arrays.binarySearch(arr,450));   
        
        //sort:升序排序
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        //binarySearch需要对排序后的数组进行元素查找
        System.out.println(Arrays.binarySearch(arr,450));
        //copyOf:完成数组的复制,从下标0开始,截取3位
        int[] arr2 = Arrays.copyOf(arr,3);
        System.out.println(Arrays.toString(arr2));
        //copyOfRange:区间复制,截取区间[2,6),包含下标2,不包含下标6
        int[] arr3 = Arrays.copyOfRange(arr,2,6);
        System.out.println(Arrays.toString(arr3));
        //equals:比较两个数组的值是否一样
        int[] arr4 = {1,2,450,666};
        int[] arr5 = {1,2,450,666};
        //equals比较的是数组中相同下标每个元素的值是否相等
        System.out.println(Arrays.equals(arr4,arr5));
        //== 比较的是arr3,arr4两个变量值是否相等,arr3,arr4存储的是数组对应的地址值,地址不同,比较结果不等
        System.out.println(arr4 == arr5);
        //fill:填充数组
        //整个数组填充某个值
        int[] arr6 = {11,33,45,66,88,22,99};
        Arrays.fill(arr6,666);
        System.out.println(Arrays.toString(arr6));
        //数组某个区间填充某个值
        int[] arr7 = {11,33,45,66,88,22,99};
        Arrays.fill(arr7,2,5,888);
        System.out.println(Arrays.toString(arr7));
    }
}

打印结果:


常用方法.jpg

还有一个复制数组的方法:arraycopy(scrArr,m,destArr,n,length),该方法是System类下的
scrArr:源数组
m:源数组要开始复制的位置(下标)
destArr:目标数组
n:目标数组要复制到的位置(下标)
length:要复制的长度

例子:

import java.util.Arrays;
public class TestArray13{
    public static void main(String[] args){
        //数组复制System.arraycopy(scrArr,m,destArr,n,length) ,
        //源数组,源数组要开始复制的位置,目标数组,目标数组要复制过去的位置,要复制的长度
        
        //给定一个数组,原数组
        int[] srcArr = {11, 33, 22, 66, 88, 99, 450, 110};
        //目标数组
        int[] destArr = new int[12];
        //复制
        System.arraycopy(srcArr,3,destArr,5,4);
        //遍历输出数组
        System.out.println(Arrays.toString(destArr));   
    }
}

打印结果:


复制.jpg

相关文章

网友评论

      本文标题:数组常用方法

      本文链接:https://www.haomeiwen.com/subject/wdhlvktx.html