有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java8流API:获取第一个找到的集合元素

有一节课

public class Event {
    public boolean isActive() {
        //...
    }
    //...
}

有一个TreeSet<Event> events包含数千个元素。我需要有效地找到任何活动的Event并获取元素

我想使用parallelStream来利用多线程

是否可以使用与anyMatch()相同的方法只返回找到的元素

boolean hasActiveEvent = events.parallelStream().anyMatch(event -> event.isActive());

共 (1) 个答案

  1. # 1 楼答案

    是,使用过滤器&;发现

    Optional<Event> result = events
            .parallelStream()
            .filter(Event::isActive)
            .findAny();