Java 关于Arrays类(常用的方法)总结+自己的理解

本文详细介绍了Java中Arrays类的常用方法,包括二分查找(binarySearch)、数组复制(copyOf、copyOfRange)、equals比较、fill填充、深拷贝(deepToString)以及sort排序等,并通过实例演示了每个方法的使用方法和结果。此外,还提到了toString方法在显示数组内容时的作用。
摘要由CSDN通过智能技术生成

Arrays类(常用的方法)

① binarySearch(类型名[] arr,类型名 a) 二分查找,查找a在数组arr的位置下标。返回的是一个int型数组下标。当a查询不到时,返回一个小于0的值。

​ eg:

public static void main(String[] args) {
    int[] arr = {1,4,7,32,67,100};
    int index = Arrays.binarySearch(arr,7);
    System.out.println(index);
}

运行结果:2

② 方法copyOf

​ 重新创建一个数组,将原数组复制到新数组并且做到了扩容。

public static void main(String[] args) {
    int[] arr1 = {1,4,7,32,67,100};
    int[] arr;
    arr = Arrays.copyOf(arr1,10);
    System.out.println(Arrays.toString(arr));
}

结果:[1, 4, 7, 32, 67, 100, 0, 0, 0, 0]

③ 方法copyOfRange

将指定数组的范围复制到新数组中,下面举一个例子

public static void main(String[] args) {
    int[] arr1 = {1,4,7,32,67,100};
    int[] arr2 = {2,32,4};
    int[] arr;
    arr2 = Arrays.copyOfRange(arr1,2,6);
    System.out.println(Arrays.toString(arr2));
}

运行结果:[7, 32, 67, 100]	//很明显原来的arr2数组的值被覆盖了

④ 关于String deepToString(Object[] obj)方法的使用:在这个地方我有一个疑惑,就是为什么arr2数组不能使用int类型声明,是因为返回值String限制了吗

public static void main(String[] args) {
    //int[] arr1 = {1,4,7,32,67,100};
    Object[] arr2 = {"2","32","4"};
    //int[] arr;
    //arr2 = Arrays.copyOfRange(arr1,2,6);
    System.out.println(Arrays.deepToString(arr2));
}

运行结果:[2, 32, 4]

⑤ equals方法 例子如下:类型名可以改变,返回值是boolean类型。true or false

public static void main(String[] args) {
    int[] arr1 = {2,2,4};
    int[] arr2 = {2,2,4};
    //int[] arr;
    //arr2 = Arrays.copyOfRange(arr1,2,6);
    System.out.println(Arrays.equals(arr1,arr2));
}

运行结果:true

⑥ fill方法 例如 void fill(int[] arr,int value) 的含义就是将value的值赋给arr数组的每一个元素

第一种形式:

public static void main(String[] args) {
    int[] arr = new int[3];
    Arrays.fill(arr,3);
    System.out.println(Arrays.toString(arr));
}

运行结果:[3, 3, 3]

第二种形式:

public static void main(String[] args) {
    int[] arr = new int[6];
    Arrays.fill(arr,2,5,3);		//索引2到5赋值3.包括2不包括5
    System.out.println(Arrays.toString(arr));
}

运行结果为:[0, 0, 3, 3, 3, 0]

⑦ hashcode方法 返回类型为int,一个参数例如参数int[] a。

⑧ mismatch方法,返回类型为int,两个数组参数,简单来说是查找两个数组的第一个不匹配的相对索引,如果未找到则返回-1. 有两种方式,同⑥类似。

⑨ sort方法,无返回值,升序。例子 两种形式:Ⅰ:void sort(int[] a); Ⅱ:void sort(int[] a,int fromIndex,int toIndex)

⑩ String toString(int[] a) 返回指定数组内容的字符串表示形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kepnosian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值