Arrays工具类的使用

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。 比如:

数组元素拼接:

           static String toString(int[] a) :字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。形式为:[元素1,元素2,元素3。。。]

           static String toString(Object[] a) :字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。元素将自动调用自己从Object继承的toString方法将对象转为字符串进行拼接,如果没有重写,则返回类型@hash值,如果重写则按重写返回的字符串进行拼接。

        int[] arr = {6, 9, 2, 9, 1, -3, 54, 45, 20};
        //使用自带工具类遍历
        System.out.println(arr);//地址值
        System.out.println(Arrays.toString(arr));//[6, 9, 2, 9, 1, -3, 54, 45, 20]

比较两个数组是否相等:

           static boolean equals(int[] a, int[] a2) :比较两个数组的长度、元素是否完全相同

           static boolean equals(Object[] a,Object[] a2):比较两个数组的长度、元素是否完全相同

        int[] arr = {6, 9, 2, 9};
        int[] arr1 = {6, 9, 2, 9};
        System.out.println(arr==arr1);//false
        System.out.println( Arrays.equals(arr,arr1));//true

填充数组:

           static void fill(int[] a, int val) :用val值填充整个a数组

          static void fill(Object[] a,Object val):用val对象填充整个a数组

           static void fill(int[] a, int fromIndex, int toIndex, int val):将a数组[fromIndex,toIndex)部分填充为val值

          static void fill(Object[] a, int fromIndex, int toIndex, Object val) :将a数组[fromIndex,toIndex)部分填充为val对象

        int[] arr = {6, 9, 2, 9};
        int[] arr1 = {6, 9, 2, 9};
        Arrays.fill(arr, 1);
        System.out.println(Arrays.toString(arr));//[1, 1, 1, 1]

数组排序:

           static void sort(int[] a) :将a数组按照从小到大进行排序

           static void sort(int[] a, int fromIndex, int toIndex) :将a数组的[fromIndex, toIndex)部分按照升序排列

           static void sort(Object[] a) :根据元素的自然顺序对指定对象数组按升序进行排序。

           static  void sort(T[] a, Comparator<? super T> c) :根据指定比较器产生的顺序对指定对象数组进行排序。

        int[] arr = {6, 9, 2, 9};
        int[] arr1 = {6, 9, 2, 9};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));//[2, 6, 9, 9]

数组元素的二分查找:

           static int binarySearch(int[] a, int key) 、static int binarySearch(Object[] a, Object key) :要求数组有序,在数组中查找key是否存在,如果存在返回第一次找到的下标,不存在返回负数。

        int[] arr = {6, 9, 2, 9};
        int[] arr1 = {6, 9, 2, 9};
        Arrays.sort(arr);
       // System.out.println(Arrays.toString(arr));//[2, 6, 9, 9]
        System.out.println(Arrays.binarySearch(arr,3));//-2
        System.out.println(Arrays.binarySearch(arr,9));//2
posted @ 2023-04-16 09:19  晓枫的春天  阅读(33)  评论(0编辑  收藏  举报