网上找了很多方法都不行,请教下各位🙏,顺便说明下,谢谢
1
EminemW 2021-01-31 17:23:35 +08:00
遍历一遍啊
|
2
Jacky23333 2021-01-31 17:27:49 +08:00 via Android
看来大学数据结构经常逃课啊
|
3
Jooooooooo 2021-01-31 17:30:26 +08:00
遍历数组
如果相等, 返回当前 index |
4
RedBeanIce 2021-01-31 17:43:36 +08:00
入门请学习好数据结构
不行就多看 java ArrayList 源码, |
5
RedBeanIce 2021-01-31 17:53:34 +08:00
```java
public class FindObject { public static void main(String[] args) { int[] intArr = {3, 4, 5, 6, 7}; int index = findIndex(intArr, 4); System.out.println("index = " + index); } private static int findIndex(int[] intArr, int value) { for (int i = 0; i < intArr.length; i++) { if (value == intArr[i]) { return i; } } // -1 不存在 return -1; } } ``` |
6
janus77 2021-01-31 17:54:30 +08:00 1
这种能百度到的问题还是少发吧
|
7
xuanbg 2021-01-31 19:12:41 +08:00
元素都找到了,还要下标有个毛用啊。。。
|
8
AllenHua 2021-01-31 20:29:19 +08:00 via iPhone
数组中的元素 都是唯一的吗
|
9
Kasumi20 2021-01-31 21:33:11 +08:00
二分查找
|
11
Lemeng 2021-01-31 22:07:06 +08:00
根据元素获取下标,不是只有遍历吗,几乎接触的需要都是这样
|
12
oneisall8955 2021-01-31 22:32:32 +08:00 1
一叠扑克牌,只能一张一张拿起来看,怎么找到方块 K ?
|
13
debuggerx 2021-01-31 22:48:22 +08:00
再用一个 Map<Object, Integer>,往数组里塞数据的时候用这个 Map 存下标不就行了,保证找起下标来简单还快[狗头]
|
14
Cowhitewhite 2021-02-01 09:04:12 +08:00
................................................................................................................................................................................................................................................................................................................................................................
|
15
zhaokun 2021-02-01 09:32:30 +08:00
反转为 map,然后取 KEY
|
19
koujyungenn 2021-02-01 13:46:49 +08:00
老生常谈
时间换空间:遍历 空间换时间:<Value,Index>作为 KV 存一个 map 不过还有没有更好的办法... |
20
beitayongguo 2021-02-02 10:08:55 +08:00
list.stream.filter(e -> Objects.equals(e.value, valueParam)).findFirst()
|