java.util.Arrays类
JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。Arrays类包含了:排序、查找、填充、打印内容等常见的操作。
【示例7-10】打印数组
|
1
2
3
4
5
6
7
8
|
import java.util.Arrays;public class Test { public static void main(String args[]) { int[] a = { 1, 2 }; System.out.println(a); // 打印数组引用的值; System.out.println(Arrays.toString(a)); // 打印数组元素的值; }} |
执行结果如图7-6所示:

图7-6 示例7-10运行效果图
菜鸟雷区
此处的Arrays.toString()方法是Arrays类的静态方法,不是前面讲的Object的toString()方法。
【示例7-11】数组元素的排序
|
1
2
3
4
5
6
7
8
9
|
import java.util.Arrays;public class Test { public static void main(String args[]) { int[] a = {1,2,323,23,543,12,59}; System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println(Arrays.toString(a)); }} |
执行结果如图7-7所示:

图7-7 示例7-11运行效果图
【示例7-12】数组元素是引用类型的排序(Comparable接口的应用)
|
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
|
import java.util.Arrays;public class Test { public static void main(String[] args) { Man[] msMans = { new Man(3, "a"), new Man(60, "b"), new Man(2, "c") }; Arrays.sort(msMans); System.out.println(Arrays.toString(msMans)); }}class Man implements Comparable { int age; int id; String name; public Man(int age, String name) { super(); this.age = age; this.name = name; } public String toString() { return this.name; } public int compareTo(Object o) { Man man = (Man) o; if (this.age < man.age) { return -1; } if (this.age > man.age) { return 1; } return 0; }} |
【示例7-13】二分法查找
|
1
2
3
4
5
6
7
8
9
10
11
|
import java.util.Arrays;public class Test { public static void main(String[] args) { int[] a = {1,2,323,23,543,12,59}; System.out.println(Arrays.toString(a)); Arrays.sort(a); //使用二分法查找,必须先对数组进行排序; System.out.println(Arrays.toString(a)); //返回排序后新的索引位置,若未找到返回负数。 System.out.println("该元素的索引:"+Arrays.binarySearch(a, 12)); }} |
执行结果如图7-8所示:

图7-8 示例7-13运行效果图
【示例7-14】数组填充
|
1
2
3
4
5
6
7
8
9
|
import java.util.Arrays;public class Test { public static void main(String[] args) { int[] a= {1,2,323,23,543,12,59}; System.out.println(Arrays.toString(a)); Arrays.fill(a, 2, 4, 100); //将2到4索引的元素替换为100; System.out.println(Arrays.toString(a)); }} |
执行结果如图7-9所示:

图7-9 示例7-14运行效果图

浙公网安备 33010602011771号