java数组值怎么查找索引

Java 数组中查找元素索引的方法有两种:线性搜索:遍历数组每个元素,比较是否与目标元素相等。二分搜索(适用于已排序数组):反复将搜索范围减半来

查找目标元素。对于未排序数组或较小数组(

如何查找 Java 数组中元素的索引

在 Java 中查找数组中元素的索引是一个常见任务,可以通过以下方法实现:

线性搜索

线性搜索遍历数组中的每个元素,并检查它是否与目标元素匹配。以下是线性搜索的 Java 代码:

public static int findIndex(int[] arr, int target) {
  for (int i = 0; i < arr.length; i++) {
    if (arr[i] == target) {
      return i;
    }
  }
  return -1;
}

二分搜索

二分搜索适用于已排序的数组。它通过反复将搜索范围减半来查找目标元素。以下是二分搜索的 Java 代码:

public static int binarySearch(int[] arr, int target) {
  int left = 0;
  int right = arr.length - 1;

  while (left <= right) {
    int mid = (left + right) / 2;

    if (arr[mid] == target) {
      return mid;
    } else if (arr[mid] < target) {
      left = mid + 1;
    } else {
      right = mid - 1;
    }
  }
  return -1;
}

选择最优方法

选择最佳方法取决于数组的大小和是否已排序:

  • 对于未排序的数组或较小的数组(线性搜索通常更有效。
  • 对于已排序的大数组二分搜索速度更快,效率更高。

需要注意的是,如果目标元素不在数组中,这两种方法都会返回 -1。