Java中Arrays类详解

目录

一、概述

1、包路径

2、简介

二、使用方法

1、数组转List

方法:

作用:

使用:

2、二分法查询数组元素

方法:

作用:

使用:

3、复制数组元素形成新数组

方法:

作用:

使用:

4、判断两个数组是否相等

方法:

作用:

使用:

5、数组填充

方法:

作用:

使用:

6、获得数组的哈希码

方法:

作用:

使用:

7、数组排序

方法:

作用:

使用:

8、数组内容转字符串

方法:

作用:

使用:


一、概述

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]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值