一、概述1、包路径java.util.Arrays
2、简介此类提供了用来操作数组的各种方法。
二、使用方法1、数组转List方法:static
作用:将一个数组转化为一个列表,并返回这个列表
使用:代码语言:javascript复制 //1、int数组转List
int[] ints = {1,2,3,4,5};
List
//遍历输出list
list1.forEach(System.out::println);
//2、Integer转List
Integer[] integers = {1,2,3,4,5};
List
//遍历输出list
arrayList2.forEach(System.out::println);
//3、尝试非int使用int的方法转List——错误
// String[] string = {"大哥","二哥","三哥","四哥"};
// List
//4、再次尝试int[]
// 如果将基本数据类型的数组作为参数传入,
// 该方法会把整个数组当作返回的List中的第一个元素
int[] ints2 = {1,2,3,4,5};
List
System.out.println(Arrays.toString(list3.get(0)));//[1, 2, 3, 4, 5]2、二分法查询数组元素方法:static int binarySearch();//有很多重载方法
作用:查询数组元素,并返回其索引值,若不存在则返回-1
使用:代码语言:javascript复制 //1、查找数字4在数组内的索引值
int[] ints1 = {1,2,3,4,5};
System.out.println(Arrays.binarySearch(ints1,4));//33、复制数组元素形成新数组方法:static int[] copyOf(int[] original, int newLength);//有很多重载方法
作用:复制数组形成新的数组(赋值号“=”,只是将原数组的地址给了新数组,并不是创建了新的数组,会使“一改全改”)
使用:代码语言:javascript复制 //1、数组的复制
int[] ints3 = {1,2,3,4,5};
int[] ints4 = Arrays.copyOf(ints3,5);//第二参数是新数组的长度
for (int value : ints4) {
System.out.println(value);//1 2 3 4 5
}
//2、测试赋值号
int[] ints5 = ints3;
ints5[0] = 10;
System.out.println(ints3[0]);//104、判断两个数组是否相等方法:static boolean equals(int[] a, int[] a2);//有很多重载方法
作用:判断两个数组的元素是否完全一样
使用:代码语言:javascript复制 //1、测试两个整型数组是否相等
int[] ints6 = {1,2,3,4,5,6};
int[] ints7 = {1,2,3,4,5,6};
int[] ints8 = {1,2,3,4,5,6,7};
System.out.println(Arrays.equals(ints6,ints7));//true
System.out.println(Arrays.equals(ints6,ints8));//false5、数组填充方法:static void fill(int[] a, int fromIndex, int toIndex, int val);//有很多重载方法
作用:用一个值填充指定数组下标的元素
使用:代码语言:javascript复制 //1、用5填充下标为0和1的元素
int[] ints9 = {1,2,3,4};
Arrays.fill(ints9,0,2,5);//[0,2),左闭右开区间
for (int i : ints9) {
System.out.println(i);//5 5 3 4
}6、获得数组的哈希码方法:static int hashCode(int[] a);//有很多重载方法
作用:返回数组的哈希码
使用:代码语言:javascript复制 //1、获取一个整型数组的哈希码
int[] ints10 = {1,2,3,4};
System.out.println(Arrays.hashCode(ints10));//9553317、数组排序方法:static void sort(int[] a);//有很多重载方法
作用:对数组按升序进行排序
使用:代码语言:javascript复制 //1、对一个整型数组按升序进行排序
int[] ints11 = {9,2,7,8,5,6,4,3,1};
Arrays.sort(ints11);
for (int i : ints11) {
System.out.println(i);//1 2 3 4 5 6 7 8 9
}8、数组内容转字符串方法:static String toString(int[] a);//有很多重载方法
作用:返回指定数组内容的字符串表示形式
使用:代码语言:javascript复制 //1、返回一个整型数组的字符串形式
int[] ints12 = {1,2,3,4};
System.out.println(Arrays.toString(ints12));//[1, 2, 3, 4]