这段代码使用 Java Stream API 对 ArrayList 进行过滤操作,并查找第一个满足条件的元素。代码的含义如下:

  1. arrayList.stream():将 ArrayList 转换为 Stream,以便使用 Stream API 进行操作。
  2. filter(s -> s.getId().intValue() == pepoler.getId().intValue()):使用 filter() 方法对 Stream 进行过滤,只保留满足条件的元素。条件是 s 对象的 id 属性和 pepoler 对象的 id 属性必须相等。
  3. findFirst():从过滤后的 Stream 中查找第一个符合条件的元素。
  4. orElse(null):如果 findFirst() 方法没有找到符合条件的元素,则返回 null。

因此,这段代码的功能是:在 ArrayList 中查找第一个 id 属性与 pepoler 对象的 id 属性相同的元素,如果找到则将其赋值给变量 p,否则将 null 赋值给变量 p。

示例:

import java.util.ArrayList; 
import java.util.List; 

public class Main { 
    public static void main(String[] args) { 
        List<Person> people = new ArrayList<>(); 
        people.add(new Person(1, "Alice")); 
        people.add(new Person(2, "Bob")); 
        people.add(new Person(3, "Charlie")); 

        Person pepoler = new Person(2, "Bob"); 

        Person p = people.stream() 
                .filter(s -> s.getId() == pepoler.getId()) 
                .findFirst() 
                .orElse(null); 

        System.out.println(p); // 输出:Person{id=2, name='Bob'} 
    } 
} 

class Person { 
    private int id; 
    private String name; 

    public Person(int id, String name) { 
        this.id = id; 
        this.name = name; 
    } 

    public int getId() { 
        return id; 
    } 

    public String getName() { 
        return name; 
    } 

    @Override 
    public String toString() { 
        return "Person{id=" + id + ", name='" + name + "'}"; 
    } 
} 

这段代码首先创建了一个包含三个 Person 对象的 ArrayList,然后创建一个名为 pepoler 的 Person 对象。最后,使用 Stream API 查找 ArrayList 中第一个 id 属性与 pepoler 对象的 id 属性相同的元素,并将结果输出。

结论:

Java Stream API 提供了一种简洁、高效的方式来过滤和查找集合中的元素。使用 filter() 和 findFirst() 方法可以轻松地找到第一个满足特定条件的元素。

Java Stream 过滤查找第一个匹配元素:详解与示例

原文地址: https://www.cveoy.top/t/topic/pk9v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录