java list stream获取元素的下标
时间: 2024-10-27 13:06:52 浏览: 27
在Java中,你可以使用`List`的`IntStream` API结合`indexOf`方法来获取元素的下标。首先,你需要将列表转换为整数流(`IntStream`),然后查找目标元素并返回其索引。下面是一个简单的示例:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("a", "b", "c", "d");
// 获取元素"b"的下标
int index = IntStream.range(0, list.size())
.filter(i -> list.get(i).equals("b"))
.findFirst()
.orElse(-1); // 如果未找到则返回-1作为默认值
System.out.println("Element 'b'的下标: " + index);
}
}
```
在这个例子中,`range(0, list.size())`生成了一个从0到列表长度减一的整数流。`filter()`方法筛选出那些对应元素等于目标值的下标,`findFirst()`找到第一个符合条件的下标,如果没有匹配,则`orElse(-1)`会返回默认值。
阅读全文