java stream 判断list集合中user对象是否有name是张三的 并且返回张三的user对象在list集合中的位置
时间: 2024-02-11 10:03:49 浏览: 101
java检验用户是否存在
可以使用Java 8中的Stream API来实现此功能。可以使用IntStream.range()方法生成序列,然后通过findFirst()方法获取满足条件的第一个元素的下标。具体实现代码如下:
```
List<User> userList = new ArrayList<>();
OptionalInt firstIndex = IntStream.range(0, userList.size())
.filter(i -> "张三".equals(userList.get(i).getName()))
.findFirst();
if (firstIndex.isPresent()) {
int index = firstIndex.getAsInt();
User zhangsan = userList.get(index);
}
```
其中,User为自定义的对象,getName()方法返回对象的名称。如果存在name为“张三”的User对象,firstIndex为OptionalInt类型的对象,可以使用isPresent()方法判断是否存在满足条件的元素。如果存在,则获取其下标index,然后通过index获取该元素。
阅读全文