目录
一、概述
1、包路径
java.util.Arrays
2、简介
此类提供了用来操作数组的各种方法。
二、使用方法
1、数组转List
方法:
static <T> List<T> asList(T... a);//只有这一个方法
作用:
将一个数组转化为一个列表,并返回这个列表
使用:
//1、int数组转List
int[] ints = {1,2,3,4,5};
List<Integer> list1 = Arrays.stream(ints).boxed().collect(Collectors.toList());
//遍历输出list
list1.forEach(System.out::println);
//2、Integer转List
Integer[] integers = {1,2,3,4,5};
List<Integer> arrayList2 = Arrays.asList(integers);
//遍历输出list
arrayList2.forEach(System.out::println);
//3、尝试非int使用int的方法转List——错误
// String[] string = {"大哥","二哥","三哥","四哥"};
// List<String> list2 = Arrays.stream(string).boxed().collect(Collectors.toList());//提示无boxed方法
//4、再次尝试int[]
// 如果将基本数据类型的数组作为参数传入,
// 该方法会把整个数组当作返回的List中的第一个元素
int[] ints2 = {1,2,3,4,5};
List<int[]> list3 = Arrays.asList(ints2);
System.out.println(Arrays.toString(list3.get(0)));//[1, 2, 3, 4, 5]
2、二分法查询数组元素
方法:
static int binarySearch();//有很多重载方法
作用:
查询数组元素,并返回其索引值,若不存在则返回-1
使用:
//1、查找数字4在数组内的索引值
int[] ints1 = {1,2,3,4,5};
System.out.println(Arrays.binarySearch(ints1,4));//3
3、复制数组元素形成新数组
方法:
static int[] copyOf(int[] original, int newLength);//有很多重载方法
作用:
复制数组形成新的数组(赋值号“=”,只是将原数组的地址给了新数组,并不是创建了新的数组,会使“一改全改”)
使用:
//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]);//10
4、判断两个数组是否相等
方法:
static boolean equals(int[] a, int[] a2);//有很多重载方法
作用:
判断两个数组的元素是否完全一样
使用:
//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));//false
5、数组填充
方法:
static void fill(int[] a, int fromIndex, int toIndex, int val);//有很多重载方法
作用:
用一个值填充指定数组下标的元素
使用:
//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);//有很多重载方法
作用:
返回数组的哈希码
使用:
//1、获取一个整型数组的哈希码
int[] ints10 = {1,2,3,4};
System.out.println(Arrays.hashCode(ints10));//955331
7、数组排序
方法:
static void sort(int[] a);//有很多重载方法
作用:
对数组按升序进行排序
使用:
//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);//有很多重载方法
作用:
返回指定数组内容的字符串表示形式
使用:
//1、返回一个整型数组的字符串形式
int[] ints12 = {1,2,3,4};
System.out.println(Arrays.toString(ints12));//[1, 2, 3, 4]