当前位置 博文首页 > hughjin:Java常用工具类:java.util.Arrays

    hughjin:Java常用工具类:java.util.Arrays

    作者:[db:作者] 时间:2021-08-02 12:37

    数组操作工具类-java.util.Arrays

    java.util.Arrays类能方便的操作数组,测试的时候造数据经常用到一下方法。
    1.filll方法 :给数组中的某段元素附上相同值。

    int []arr = new int[5];
    Arrays.fill(arr, 2);
    for (int i : arr) {
    ? ? System.out.print(i + " ?");
    }
    结果:2 ?2 ?2 ?2 ?2
    数组所有元素赋相同的值

    2.sort方法:对数组中某段元素排序。

    int []arr = {3,2,1,5,4};
    Arrays.sort(arr);
    for (int i : arr) {
    ? ? System.out.print(i + " ?");
    }
    结果:1 ?2 ?3 ?4 ?5
    所有元素按升序排序?
    int[] arr = {3, 5, 2, 1, 4};
    Arrays.sort(arr, 0, 4);
    for (int i : arr) {
        System.out.print(i + "  ");
    }
    结果:1  2  3  5  4 ?
    sort(int[] a, int fromIndex, int toIndex) fromIndex到toIndex-1排序

    3.equals方法:比较两个数组
    备注:判断的是数组中元素值是否相等。
    与之有区别的是 数组的equals方法

    int[] arri = {1,2,3};
    int[] arri1 = {1,2,3};
    System.out.println(arri.equals(arri1));
    System.out.println(Arrays.equals(arri,arri1));
    结果:
    false
    true

    4.binarySearch方法:对排过序的数组进行二分法查找。
    备注:数组必须是排过序的。查到会返回大于等于0的数字,查不到会返回小于0的数字

    int[] arr = {3, 5, 2, 1, 4};
    System.out.println(Arrays.binarySearch(arr, 4));
    System.out.println(Arrays.binarySearch(arr, 11));
    结果:
    4
    -6


    5.asList方法:将数组转换成集合
    备注:把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常;
    使用基本数据类型数组时需注意,编译器会默认将比如int[],char[]等当做一个类型,认为只传了一个变量,转换成的集合size为1。

    int[] arri = {1, 2, 3};
    List list = Arrays.asList(arri);
    System.out.println(list.size());
    Integer[] arrInt = {1, 2, 3};
    List integerList = Arrays.asList(arrInt);
    System.out.println(integerList.size());
    结果:
    1
    3
    integerList.add(new Integer("434"));
    结果:Exception in thread "main" java.lang.UnsupportedOperationException

    ?

    cs