在Java中,如何搜尋和比較陣列?
範例
以下範例顯示如何使用sort()
和binarySearch()
方法來完成任務。使用者定義的方法printArray()
用於顯示輸出 -
package com.yiibai;
import java.util.*;
public class ArraySortCompare {
public static void main(String args[]) throws Exception {
int array[] = { 12, 15, -2, 16, -3, 28, 10, -7, -9, 24 };
Arrays.sort(array);
printArray("Sorted array", array);
int index = Arrays.binarySearch(array, 2);
System.out.println("Found 2 @ " + index);
}
private static void printArray(String message, int array[]) {
System.out.println(message + ": [length: " + array.length + "]");
for (int i = 0; i < array.length; i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(array[i]);
}
System.out.println();
}
}
執行上面範例程式碼,得到以下結果 -
Sorted array: [length: 10]
-9, -7, -3, -2, 10, 12, 15, 16, 24, 28
Found 2 @ -5
範例2
如何比較兩個陣列?
package com.yiibai;
public class ArraySortCompare2 {
public static void main(String[] args) {
int arr1[] = { 1, 2, 3 };
int arr2[] = { 1, 2, 3 };
if (arr1 == arr2)
System.out.println("Same");
else
System.out.println("Not same");
}
}
執行上面範例程式碼,得到以下結果 -
Not same
範例3
陣列比較的另一個範例範例 -
package com.yiibai;
import java.util.*;
public class ArraySortCompare3 {
public static void main(String[] args) {
int arr1[] = { 1, 2, 3 };
int arr2[] = { 1, 2, 3 };
if (Arrays.equals(arr1, arr2))
System.out.println("Same");
else
System.out.println("Not same");
}
}
執行上面範例程式碼,得到以下結果 -
same