Java中Arrays类详解

一、概述1、包路径java.util.Arrays

2、简介此类提供了用来操作数组的各种方法。

二、使用方法1、数组转List方法:static List asList(T... a);//只有这一个方法

作用:将一个数组转化为一个列表,并返回这个列表

使用:代码语言:javascript复制 //1、int数组转List

int[] ints = {1,2,3,4,5};

List 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 arrayList2 = Arrays.asList(integers);

//遍历输出list

arrayList2.forEach(System.out::println);

//3、尝试非int使用int的方法转List——错误

// String[] string = {"大哥","二哥","三哥","四哥"};

// List list2 = Arrays.stream(string).boxed().collect(Collectors.toList());//提示无boxed方法

//4、再次尝试int[]

// 如果将基本数据类型的数组作为参数传入,

// 该方法会把整个数组当作返回的List中的第一个元素

int[] ints2 = {1,2,3,4,5};

List list3 = Arrays.asList(ints2);

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]