1. 程式人生 > >Java常用工具類:java.util.Arrays

Java常用工具類:java.util.Arrays

陣列操作工具類-java.util.Arrays

java.util.Arrays類能方便的運算元組,測試的時候造資料經常用到一下方法。
1.filll方法 :給陣列中的某段元素附上相同值。

int []arr = new int[5];
Arrays.fill(arr, 2);
for (int i : arr) {
    System.out.print(i + "  ");
}
結果:2  2  2  2  2
陣列所有元素賦相同的值

2.sort方法:對陣列中某段元素排序。

int []arr = {3,2,1,5,4};
Arrays.sort(arr);
for (int i : arr) {
    System.out.print(i + "  ");
}
結果:1  2  3  4  5
所有元素按升序排序 
int[] arr = {3, 5, 2, 1, 4};
Arrays.sort(arr, 0, 4);
for (int i : arr) {
    System.out.print(i + "  ");
}
結果:1  2  3  5  4  
sort(int[] a, int fromIndex, int toIndex) fromIndex到toIndex-1排序

3.equals方法:比較兩個陣列
備註:判斷的是陣列中元素值是否相等。
與之有區別的是 陣列的equals方法

int[] arri = {1,2,3};
int[] arri1 = {1,2,3};
System.out.println(arri.equals(arri1));
System.out.println(Arrays.equals(arri,arri1));
結果:
false
true

4.binarySearch方法:對排過序的陣列進行二分法查詢。
備註:陣列必須是排過序的。查到會返回大於等於0的數字,查不到會返回小於0的數字

int[] arr = {3, 5, 2, 1, 4};
System.out.println(Arrays.binarySearch(arr, 4));
System.out.println(Arrays.binarySearch(arr, 11));
結果:
4
-6


5.asList方法:將陣列轉換成集合
備註:把陣列轉換成集合時,不能使用其修改集合相關的方法,它的add/remove/clear方法會丟擲UnsupportOperationException異常;
使用基本資料型別陣列時需注意,編譯器會預設將比如int[],char[]等當做一個型別,認為只傳了一個變數,轉換成的集合size為1。

int[] arri = {1, 2, 3};
List list = Arrays.asList(arri);
System.out.println(list.size());
Integer[] arrInt = {1, 2, 3};
List integerList = Arrays.asList(arrInt);
System.out.println(integerList.size());
結果:
1
3
integerList.add(new Integer("434"));
結果:Exception in thread "main" java.lang.UnsupportedOperationException