数组的工具,Arrays工具类

Arrays工具类

  • 前言
  • 一、Arrays工具类是什么?
  • 二、几种常使用的方法
    • 1.查看数组元素toString
    • 2.数组排序sort
    • 3.二分法查找binarySearch
    • 4.比较值equals
    • 5.填充数组fill
    • 6.复制数组copyOf
    • 6.区间复制数组copyOf
  • 总结


前言

本篇文章主要讲解Arrays工具类中的几种常用的方法!!!


一、Arrays工具类是什么?

Arrays工具类是在java.util包下,与数组有关的一个工具类,为了简便的解决数组中遇到的问题而生。

二、几种常使用的方法

1.查看数组元素toString

toString本是Java.lang.Object下的一个方法,利用方法的重写,在Arrays工具类中实现了遍历数组中所有元素的操作

public static void main(String[] args) {
        int[] arr = new int[]{3,5,7,8,99,65,21,33};
        System.out.println(Arrays.toString(arr));
    }

java.util.Arrays下的源码
在这里插入图片描述
注意这里是一个带返回值的方法,也就是说返回一个字符串,我们想查看还得打印一下
运行结果:
在这里插入图片描述

2.数组排序sort

将数组排序,下标从0到长度-1,大小由小到大,也就是第一位元素是最小的,末尾元素最大

 public static void main(String[] args) {
        int[] arr = new int[]{3,5,7,8,99,65,21,33};
        System.out.println(Arrays.toString(arr));
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }

运行结果:
在这里插入图片描述

3.二分法查找binarySearch

二分法查找,二分法查找的原理在主页有单独的文章讲解,在我们对二分法的原理熟悉后,可以用该工具类下的该方法快捷操作

public static void main(String[] args) {
        int[] arr = new int[]{3,5,7,8,99,65,21,33};
        System.out.println(Arrays.toString(arr));
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.binarySearch(arr,7));
    }

注意,在这里调用该方法后是返回一个int类型的下标,所以我们要打印查看,括号中➡(数组名,目标元素)

运行结果:
在这里插入图片描述

4.比较值equals

我们知道在比较两个字符串是否相等的时候,也就是判断引用数据类型的时候,需要用到equals方法,这里同理,可以用Arrays.equals快速比较两个数组里的数据是否相等

public static void main(String[] args) {
        int[] arr = new int[]{3,5,7,8,99,65,21,33};
        System.out.println(Arrays.toString(arr));
//        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.binarySearch(arr,7));
        int[] arr1 = arr;
        int[] arr2 = new int[]{3,5,7,8,99,65,21,33};
        System.out.println(Arrays.equals(arr,arr1));
        System.out.println(Arrays.equals(arr,arr2));
        System.out.println(Arrays.equals(arr1,arr2));
    }

运行结果:
在这里插入图片描述
注意这里返回的是boolean类型的数据,true为相等,false为不等,括号里➡(数组1名,数组2名)

5.填充数组fill

其实这种方法应用场景目前我还没有遇到太多,可以做一个了解,
写法以及代码运行结果:
在这里插入图片描述
个人认为应用场景应该在将数组中的元素用一个统一的值全覆盖,需要了解 括号里 ➡(目标数组,填充的值)

6.复制数组copyOf

int[] newarr = Arrays.copyOf(arr,4);
        System.out.println(Arrays.toString(newarr));

在这里插入图片描述
注意的点,括号里 ➡(被复制的数组名,新数组的长度)

6.区间复制数组copyOf

int[] newarr1 = Arrays.copyOfRange(arr,1,3);
        System.out.println(Arrays.toString(newarr1));

和上面复制数组同理,这里改成一个左闭右开的区间(指的是下标)比如这里我写了1,3正常来说应该是【1,3),取到下标为1和2的两个元素
代码运行结果
在这里插入图片描述


总结

以上就是今天要分享的内容,本文简单的介绍了几种Arrays工具类中的方法,使用的频率各不相同,大家可以了解一下,在开发中可以省掉不必要的麻烦,希望这篇文章可以帮到你。欢迎大神前来指正!!

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值