java stream判断取到第几个
时间: 2024-07-25 07:01:29 浏览: 183
List集合多个复杂字段判断去重的案例
在 Java Stream API 中,如果你想要获取某个元素在流中的索引位置,你可以使用 `IntStream` 的 `indexOf` 或 `findFirst` 方法结合 `orElse`。`indexOf` 方法会返回指定元素在流中的第一个匹配项的索引,如果没有找到则返回 -1;`findFirst` 方法可以查找第一个元素,然后配合 `mapToInt` 将 Stream 转换为 Integer Stream 后再求解。
例如:
```java
List<String> list = Arrays.asList("a", "b", "c", "d");
int index = list.stream()
.indexOf("c"); // 如果找到了 "c",返回索引 2
OptionalInt foundIndex = list.stream()
.mapToInt(String::hashCode) // 假设这里是唯一的标识
.findFirst() // 找到第一个元素
.orElse(-1); // 没有找到就返回默认值 -1
```
阅读全文