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 }