用stream流查询String[] selecteds中某个字符串的下标
时间: 2024-04-12 09:28:24 浏览: 13
您可以使用Java 8的Stream流来查询String[] selecteds数组中某个字符串的下标。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
String[] selecteds = {"apple", "banana", "orange", "grape"};
String target = "banana";
OptionalInt index = IntStream.range(0, selecteds.length)
.filter(i -> selecteds[i].equals(target))
.findFirst();
if (index.isPresent()) {
System.out.println("Target string found at index: " + index.getAsInt());
} else {
System.out.println("Target string not found in the array.");
}
}
}
```
在上述代码中,我们使用`IntStream.range(0, selecteds.length)`创建一个整数流,范围是从0到`selecteds`数组的长度减1。然后使用`filter`方法过滤出与目标字符串相等的元素的下标,使用`findFirst`方法获取第一个匹配的下标。最后,我们检查该下标是否存在,并打印相应的消息。
请注意,这里假设目标字符串在数组中只出现一次。如果目标字符串可能出现多次,您可以使用`filter`后面的`collect`方法收集所有匹配的下标到一个列表中。