如果您手动执行此操作,则可以迭代每个数组项:
public int indexOf(int search, int[] arr) {
for(int i = 0; i < arr.length; i++) {
if(arr[i] == search) {
return i;
}
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
如果你知道数组在进行多次搜索之间不会改变,你也可以使用Map缓存结果..只要你更改数组就清空缓存.
private Map<Integer, Integer> indexCache;
public int indexOf(int search, int[] arr) {
Integer cachedIndex = indexCache.get(search);
if(cachedIndex != null) return cachedIndex;
for(int i = 0; i < arr.length; i++) {
if(arr[i] == search) {
indexCache.put(search, i);
return i;
}
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
实际上,最好使用Map而不是数组来存储这些数据,因为它更适合于键值查找.
| 归档时间: |
|
| 查看次数: |
3962 次 |
| 最近记录: |