1. 程式人生 > 其它 >java.util.Arrays類

java.util.Arrays類

JDK提供的java.util.Arrays類,包含了常用的陣列操作,方便我們日常開發。Arrays類包含了:排序、查詢、填充、列印內容等常見的操作。

【示例7-10】列印陣列

1 2 3 4 5 6 7 8 importjava.util.Arrays; publicclassTest{ publicstaticvoidmain(Stringargs[]){ 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 importjava.util.Arrays; publicclassTest{ publicstaticvoidmain(Stringargs[]){ 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 importjava.util.Arrays; publicclassTest{ publicstaticvoidmain(String[]args){ Man[]msMans={newMan(3,"a"),newMan(60,"b"),new
Man(2,"c")}; Arrays.sort(msMans); System.out.println(Arrays.toString(msMans)); } } classManimplementsComparable{ intage; intid; Stringname; publicMan(intage,Stringname){ super(); this.age=age; this.name=name; } publicStringtoString(){ returnthis.name; } publicintcompareTo(Objecto){ Manman=(Man)o; if(this.age<man.age){ return-1; } if(this.age>man.age){ return1; } return0; } }

【示例7-13】二分法查詢

1 2 3 4 5 6 7 8 9 10 11 importjava.util.Arrays; publicclassTest{ publicstaticvoidmain(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 importjava.util.Arrays; publicclassTest{ publicstaticvoidmain(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執行效果圖