温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java如何使用Arrays工具类

发布时间:2021-09-06 17:32:48 来源:亿速云 阅读:135 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关Java如何使用Arrays工具类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    Arrays 是 JDK 提供的操作数组的工具类,Arrays 类提供了动态创建、访问和操作 Java 数组的方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

    1、数组转换成字符串

    public static String toString(T [] a)

    如:

    int[] a = {2,8,51,13,46,11,22};
    System.out.println(Arrays.toString(a));

    2、数组转换成集合

    (1)asList

    public static <T> List<T> asList(T... a)

    例:

    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
            System.out.println(list);

    1)该方法适用于对象型数据的数组(String、Integer…),该方法不要使用于基本数据类型的数组(byte,short,int,long,float,double,boolean);
    2)该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新;
    3)不支持add()、remove()、clear()等方法;
    4)用此方法得到的List的长度是不可改变的;
    5)如果你的List只是用来遍历,就用Arrays.asList();如果你的List还要添加或删除元素, 就new一个java.util.ArrayList,然后一个一个地添加或删除元素;
    6)这个ArrayList不是java.util包下的,而是java.util.Arrays.ArrayList。它是Arrays类自己定义的一个静态内部类,这个内部类没有实现add()、remove()方法,而是直接使用它的父类AbstractList的相应方法。

    (2)stream 流操作

    public static IntStream stream(int[] array)

    例:

    int[] a = {2,8,51,13,46,11,22};
    IntStream stream = Arrays.stream(a);
    System.out.println(Arrays.toString(stream.toArray()));
    System.out.println(Arrays.toString(a));

    将数组转为流式,对array进行流式处理,可用一切流式处理的方法。

    (3)Collections.addAll()

    3、对数组进行升序排列

    public static void sort(T [] a)

    例:

    int[] a = {20, 3, 32, 1, 72, 26, 35};
    Arrays.sort(a);

    4、判断数组是否相等

    public static boolean equals(T[] a, T[] a2)

    例:

    int[] a = {20, 3, 32, 1, 72, 26, 35};
    int[] b = {3, 5, 7, 8, 54, 23, 9};
    boolean boo = Arrays.equals(a, b);

    比较的原则是长度相等,元素相等。

    5、所有元素赋特定值

    // 用val替换数组指定范围的值
    public static void fill(T[] a, int fromIndex, int toIndex, T val)

    例:

    int[] a = {1, 2, 3, 4};
    Arrays.fill(a, 0,2,5);

    6、对数组复制

    public static char[] copyOf(char[] original, int newLength)

    例:

    int[] b = {3, 5, 7, 8, 54, 23, 9};
    int[] d = Arrays.copyOf(b, b.length);

    Arrays 的 copyOf() 方法传回的数组是新的数组对象,改变传回数组中的元素值,不会影响原来的数组。
    copyOf() 的第二个自变量指定要建立的新数组长度,如果新数组的长度超过原数组的长度,则保留数组默认值。

    7、查询数组下标

    public static int binarySearch(byte[] a, byte key)     // 查询元素第一次出现的位置

    例:

    int[] b = {3, 5, 7, 8, 9, 23, 54};
    int i = Arrays.binarySearch(b, 5);

    使用二分搜索法来搜索指定的数组,方法返回要搜索元素的索引值。
    注:必须在进行此调用之前对数组进行排序(sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
    查找效率比一般的从数组中从左到右挨个挨个的查找的平均查找时间要快。

    8、返回数组 hashcode 值

    public static int hashCode(int a[]);    // 返回数组的hashCode值

    例:

    int[] a = {1, 2, 3, 4};
    System.out.println(Arrays.hashCode(a));
    // 结果:955331

    关于“Java如何使用Arrays工具类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI