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工具类中的方法,使用的频率各不相同,大家可以了解一下,在开发中可以省掉不必要的麻烦,希望这篇文章可以帮到你。欢迎大神前来指正!!