1 package com.jdk7.chapter4;
2
3 import java.util.Arrays;
4
5 public class UsingArrays {
6 public static void printIntArray(
int[] arrays){
7 if(arrays!=
null){
8 for(
int i=0;i<arrays.length;i++
){
9 System.out.print(arrays[i]+" "
);
10 }
11 System.out.println();
12 }
13 }
14 public static void main(String[] args) {
15 int[] array0 =
new int[5
];
16 System.out.print("数组array0全部赋值为5: "
);
17 Arrays.fill(array0, 5);
//调用fill方法给数组全部赋值为5
18 printIntArray(array0);
19 System.out.print("数组array0下标[2,3]赋值为8: "
);
20 Arrays.fill(array0, 2, 4, 8);
//调用fill方法给数组下标2到3位赋值为8
21 printIntArray(array0);
22
23 int[] array1 =
new int[] {3,9,4,6,5,2
};
24 System.out.print("数组array1: "
);
25 printIntArray(array1);
26 System.out.println("未排序进行二叉查找数组array1中2的位置: "+Arrays.binarySearch(array1, 2
));
27 System.out.print("数组array1下标[2,4]进行排序: "
);
28 Arrays.sort(array1, 2, 5);
//调用sort方法给数组下标2到4位排序
29 printIntArray(array1);
30 System.out.print("数组array1进行排序: "
);
31 Arrays.sort(array1);
//调用sort方法给数组排序
32 printIntArray(array1);
33
34 System.out.print("数组array0和数组array1的值是否相等: "
);
35 System.out.println("array0 = array1: "+Arrays.equals(array0, array1));
//调用equals比较两个数组中的数值
36
37 int[] array2 = (
int[])array0.clone();
38 System.out.print("克隆数组array0为array2,数组array0和数组array2的值是否相等: "
);
39 System.out.println("array0 = array2: "+
Arrays.equals(array0, array2));
40 //克隆后原件和复件任意一个改变,另一个同步改变
41 // Arrays.fill(array2, 2, 4, 8);
42 Arrays.fill(array0, 2, 4, 8
);
43 printIntArray(array0);
44 printIntArray(array2);
45 System.out.print("数组array2下标2赋值为8,数组array0和数组array2的值是否相等: "
);
46 System.out.println("array0 = array2: "+
Arrays.equals(array0, array2));
47
48 printIntArray(array1);
49 //在数组最新状态中二叉查找指定值的下标
50 System.out.println("排序后二叉查找数组array1中4的位置: "+Arrays.binarySearch(array1, 4
));
51 System.out.println("排序后二叉查找数组array1中2的位置: "+Arrays.binarySearch(array1, 2
));
52 }
53 }
54
55 执行结果:
56 数组array0全部赋值为5: 5 5 5 5 5
57 数组array0下标[2,3]赋值为8: 5 5 8 8 5
58 数组array1: 3 9 4 6 5 2
59 未排序进行二叉查找数组array1中2的位置: -1
60 数组array1下标[2,4]进行排序: 3 9 4 5 6 2
61 数组array1进行排序: 2 3 4 5 6 9
62 数组array0和数组array1的值是否相等: array0 = array1:
false
63 克隆数组array0为array2,数组array0和数组array2的值是否相等: array0 = array2:
true
64 5 5 8 8 5
65 5 5 8 8 5
66 数组array2下标2赋值为8,数组array0和数组array2的值是否相等: array0 = array2:
true
67 2 3 4 5 6 9
68 排序后二叉查找数组array1中4的位置: 2
69 排序后二叉查找数组array1中2的位置: 0
总结:
♦排序后才能在数组中进行二分法查找元素的位置;
♦fill和sort方法的起止位置都是针对数组下标;
♦克隆的数组,原件和复件一方进行变动,另一方同步变动。
转载于:https://www.cnblogs.com/celine/p/8306767.html