搜索字符串数组而不使用循环

Din*_*ino 3 java arrays string search

我有以下数组

String[] arrKey  = new String[] {"A","B","C","D","E",......"Y","Z"};
Run Code Online (Sandbox Code Playgroud)

我想搜索数组并给我索引字母的索引.比方说,我想搜索字母"E",当我搜索数组时,它应该给我"E"的位置,所以我应该得到索引位置4.我不想在循环中这样做.可能吗?我一直在寻找,无法找到答案.

Jon*_*eet 16

我不想在循环中这样做.

必须有一个循环的地方 -无论是在你的代码或库代码.

所以是的,你可以使用

int index = Arrays.asList(arrKey).indexOf("E");
Run Code Online (Sandbox Code Playgroud)

......但这将在封面下循环.

如果您知道您的数组已经开始排序,您可以使用:

int index = Arrays.binarySearch(arrKey, "E");
Run Code Online (Sandbox Code Playgroud)

这将更有效 - 但它仍然是一个循环......

当然,如果你知道你的数组总是 AZ,那么你可以在没有循环的情况下完成它 - 但我认为你的真实案例更为通用......