Arrays类是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组的操作。在设计算法时十分重要,可以很好的简化代码,都有对所有基本类型的重载方法。
导包:java.util.Arrays
1、Arrays.toString()方法(参数:数组名称)
方法作用:快速输出数组内容
int[] num= {2,4,12,56,78,32,45};
System.out.println(Arrays.toString(num));
//输出:[2,4,12,56,78,32,45]
源代码:检查数组是否为空,不为空则检查数组长度,若长度为0,则返回空字符串[],若大于0,则创建可变字符串StringBuilder。
2、Arrays.sort()方法(参数:数组名称或(数组名,起始下标,排序个数))
方法作用:给数组排序,默认升序
int[] num= {1,67,18,28,5,6,26,8,9,34};
Arrays.sort(num);
System.out.println(Arrays.toString(num));
//输出:[1, 5, 6, 8, 9, 18, 26, 28, 34, 67]
源代码:
3、Arrays.binarySearch()方法
方法作用:在数组中查找元素(必须在有序数组中)
int[] num1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int index = Arrays.binarySearch(num1, target);
System.out.println(index);
//输出:1
参数:
4、Arrays.copyOf()方法
方法作用:拷贝数组
int[] num= {2,4,12,56,78,32,45};
System.out.println("原数组内容:"+Arrays.toString(num));
//复制前三个元素,从下标0开始复制
int[] a1=Arrays.copyOf(num, 3);
System.out.println("复制前三个元素:"+Arrays.toString(a1));
int[] a11=Arrays.copyOf(num,10);
System.out.println("复制元素:"+Arrays.toString(a11));
//复制所有元素,从下标0开始复制
int[] a2=Arrays.copyOf(num, num.length);
System.out.println("复制所有内容内容:"+Arrays.toString(a2));
//输出:原数组内容:[2, 4, 12, 56, 78, 32, 45]
复制前三个元素:[2, 4, 12]
复制元素:[2, 4, 12, 56, 78, 32, 45, 0, 0, 0]
复制所有内容内容:[2, 4, 12, 56, 78, 32, 45]
源代码:第一个参数是原数组,第二个参数是是拷贝长度,返回值是将元素组拷贝一份返回。(
注:返回值是一个新的数组,会改变接受这个新数组的引用的一些属性)
5、Arrays.copyOfRange()方法
方法作用:拷贝数组(从指定下标开始复制)
//复制指定区间内元素,从下标2开始复制到下标5之前的元素
int[] a3=Arrays.copyOfRange(num, 2, 5);
System.out.println("复制指定内容:"+Arrays.toString(a3));
//输出:复制指定内容:[12, 56, 78]
6、Arrays.fill()方法
方法作用:填充数组
int[] nums = { 1, 2, 3, 3, 5, 6, 7 };
Arrays.fill(nums, -1);// 数组全部填充覆盖
System.out.println(Arrays.toString(nums));
Arrays.fill(nums, 1, 6, 0);// 数组区间填充覆盖
System.out.println(Arrays.toString(nums));
//输出:[-1, -1, -1, -1, -1, -1, -1]
[-1, 0, 0, 0, 0, 0, -1]
参数:
7、Arrays.equals()方法
方法作用:比较两个数组内容是否相等(注:Arrays.equals()是比较数组内容,而a.equals(b) 这样的方法是比较地址值)
int[] a = {1,2,3};
int[] b = {1,2,3};
boolean same = Arrays.equals(a,b);
输出//true