在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