1 package 第五章基础知识数组;
 2 
 3 public class _1数组Arrays中常用的静态方法_重要 {
 4 
 5 
 6     public static void main(String[] args) {
 7         // Arrays中常用的静态方法
 8         //  1.java.util.Arrays.sort()  //排序方法
 9         
10     // 将下来int类型的数组进行排序, 并且倒序输出
11         int arr1[] = new int[] {1,98,75,69,968,54,98,77,89};
12         java.util.Arrays.sort(arr1);
13         for(int i=0; i<arr1.length; i++) {
14             System.out.print(arr1[i] + " ");
15         }
16         System.out.println();
17         for(int j=arr1.length-1; j>=0; j--) {
18             System.out.print(arr1[j] + " ");
19         }
20         System.out.println();
21         char arr2[] = new char[] {'5','b','a','A','9'};
22         java.util.Arrays.sort(arr2);
23         for(int j=0; j<arr2.length; j++) {
24             System.out.print(arr2[j] + " ");
25         }
26         System.out.println();
27         System.out.println("----------------");
28         // 2.java.util.Arrays.copyOf() 与java.util.Arrays.copyOfRange()
29         
30         //  复制数组    copyOf()方法是复制数组至指定长度.
31         //            copyOfRange()方法是将指定数组的指定长度复制到一个新数组中
32         int [] arr3 = new int[] {4,3,2,1};
33         int newarr[] = java.util.Arrays.copyOf(arr3, 5);
34         for(int ele : newarr) {
35             System.out.print(ele);
36         }// 当原来数组长度不够时 使用0补到需要复制的长度
37         System.out.println();
38         System.out.println("------------------");
39         // copyOfRange()方法是将指定数组的指定长度复制到一个新数组中
40         // 该方法是按照索引复制 不包括结束时的索引==>左闭又开区间
41         int []arr4 = {12,69,87,56,22,36,98,45,46};
42         int []newArr = java.util.Arrays.copyOfRange(arr4, 3, 7);// 56,22,36,98
43         for(int i=0; i<newArr.length; i++) {
44             System.out.print(newArr[i] + " ");
45         }
46         System.out.println();
47         System.out.println("-------------------");
48         
49         //3.java.util.Arrays.binarySearch  // 二分查找,该方法返回要查找元素的索引值
50         // binarySearch(object, from, to, key)
51         int[] arr5= new int[] {4,12,69,7,56,36,98,45,63,65};
52         java.util.Arrays.sort(arr5);
53         int index = java.util.Arrays.binarySearch(arr5, 7);
54         System.out.println("排序后数组为: ");
55         for(int ele: arr5) {
56         System.out.print(ele+ " ");
57         }
58         System.out.println();
59         System.out.println("7的索引位置为: " + index);
60         System.out.println("----------------------");
61         // 使用binarySearch之前必须进行排序  二分查找的原理就是对有序序列的进行一个快速查找
62         
63         //4.java.util.Arrays.fill()方法 --数组的填充方法
64         int[] arr6 = new int[] {1,2,36,4,5,6};
65         java.util.Arrays.fill(arr6,2,3,3);// 将数组中下标2-3(不包括3)中元素替换成3
66         for(int ele :arr6) {
67             System.out.print(ele);
68         }
69         System.out.println();
70     }
71 
72 }