线性查找(Linear Search)
逐个遍历数组元素,直到找到目标元素或遍历完整个数组。
public static int linearSearch(int[] arr, int target) {for (int i = 0; i < arr.length; i++) {if (arr[i] == target) {return i;}}return -1; // 如果未找到目标元素,返回-1}
二分查找(Binary Search)
适用于已排序的数组,通过不断将搜索区间减半来快速定位目标元素。
import java.util.Arrays;public static int binarySearch(int[] array, int value) {int left = 0;int right = array.length - 1;while (left <= right) {int middle = (left + right) / 2;if (array[middle] == value) {return middle;} else if (array[middle] < value) {left = middle + 1;} else {right = middle - 1;}}return -1; // 如果未找到目标元素,返回-1}
使用Java库方法
可以使用`java.util.Arrays`类中提供的`binarySearch`方法,但需要数组已经排序。
int[] array = {1, 5, 6, 7, 10, 3, 9};int value = 9;int result = Arrays.binarySearch(array, value);if (result >= 0) {System.out.println("找到了,索引为 " + result);} else {System.out.println("未找到");}
请根据你的具体需求选择合适的查找方法。如果数组未排序,需要先进行排序,或者直接使用线性查找。如果数组已排序,二分查找将更为高效

