File size: 3,081 Bytes
0284885
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package Arrays_package;

import java.util.Arrays;

public class Arrays_demo1 {
    public static void main(String[] args) {
        /*
        public static String toString (数组)                                  把数组拼接成一个字符串
        public static int binarySearch (数组, 查找元素)                        二分查找法查找元素
        public static int[] copyOf (原数组, 新数组长度)                         拷贝数组
        public static int[] copyOfRange (原数组, 起始索引, 结束索引)            拷贝数组(指定范围)
        public static void fill (数组, 元素)                                  填充数组
        public static void sort (数组)                                        按照默认方式进行数组排序
        public static void sort (数组, 排序规则)                              按照指定的规则排序
         */

        //toString:将数组变成字符串
        System.out.println("-------------toString--------------");
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
        System.out.println(Arrays.toString(arr));


        //binarySearch:二分查找法查找元素
        //细节1:二分查找的前提,数组中的元素必须是有序的
        //细节2:如果要查找的元素是存在的,那么返回的是真实索引
        //但是,如果要查找的元素是不存在的,返回的是 -插入点 - 1
        System.out.println("-------------binarySearch--------------");
        System.out.println(Arrays.binarySearch(arr, 10));//-10
        System.out.println(Arrays.binarySearch(arr, 5));
        System.out.println(Arrays.binarySearch(arr, 3));


        //copyOf:拷贝数组
        //参数1:老数组
        //参数2:新数组的长度
        //方法的底层会根据第二个参数来创建新的数组
        //如果新数组的长度小于老数组的长度,会部分拷贝
        //如果新数组的长度等于老数组的长度,会完全拷贝
        //如果新数组的长度大于老数组的长度,会补上默认初始值
        System.out.println("-------------copyOf--------------");
        int[] newArr1 = Arrays.copyOf(arr, 20);
        System.out.println(Arrays.toString(newArr1));


        //copyOfRange:拷贝数组(指定范围)
        //细节:包头不包尾,包左不包右
        System.out.println("-------------copyOfRange--------------");
        int[] newArr2 = Arrays.copyOfRange(arr, 0, 5);
        System.out.println(Arrays.toString(newArr2));


        //fill:填充数组
        System.out.println("-------------fill--------------");
        Arrays.fill(arr, 100);
        System.out.println(Arrays.toString(arr));


        //sort:排序。默认情况下,给基本数据类型进行升序排序,底层使用的是快速排序。
        System.out.println("-------------sort--------------");
        int[] arr2 = {10, 2, 3, 5, 6, 1, 7, 8, 4, 9};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));

    }
}