◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在 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]
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。