在 Java 中查找数组中下标的方法有三种:使用 Arrays.binarySearch()(已排序数组)、for 循环(未排序或二分搜索不适用)和 Apache Commons Lang(高级功能)。

如何在 Java 中查找数组中的下标
引言
在 Java 中,查找数组中元素的下标是一个常见的操作。本文将介绍几种方法来完成此任务。
方法 1:使用 Arrays.binarySearch()
立即学习“Java免费学习笔记(深入)”;
何时使用:当数组已按升序排序时。
语法:
int index = Arrays.binarySearch(array, element);
返回值:如果找到元素,则返回其下标;否则返回 (-(插入点) - 1)。
示例:
int[] array = {1, 2, 3, 5, 7, 9};
int index = Arrays.binarySearch(array, 5);
System.out.println("下标:" + index); // 输出:3方法 2:使用 for 循环
何时使用:当数组未排序或使用二分搜索不合适时。
语法:
for (int i = 0; i < array.length; i++) {
if (array[i] == element) {
return i;
}
}返回值:如果找到元素,则返回其下标;否则返回 -1。
示例:
int[] array = {5, 2, 1, 9, 3, 7};
int index = -1;
for (int i = 0; i < array.length; i++) {
if (array[i] == 5) {
index = i;
break;
}
}
System.out.println("下标:" + index); // 输出:0方法 3:使用 Apache Commons Lang
何时使用:当需要更高级的功能时,如查找所有匹配元素的下标。
先决条件:将 commons-lang3 依赖项添加到项目中。
语法:
import org.apache.commons.lang3.ArrayUtils; int[] indices = ArrayUtils.indexesOf(array, element);
返回值:匹配元素的所有下标的数组。
示例:
int[] array = {1, 5, 2, 5, 3, 7};
int[] indices = ArrayUtils.indexesOf(array, 5);
System.out.println("下标:" + Arrays.toString(indices)); // 输出:[1, 3]











