2016-06-01 10 views
-1

を見つけますクラスは、いくつかの何千もの要素を保持TreeSet<Event> eventsがありJavaの8ストリームAPI:最初のコレクション要素

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

があります。私は効果的に任意のアクティブを見つける必要がありますEventと要素を取得します。

マルチスレッドを利用するには、parallelStreamを使用します。

anyMatch()と同じ方法で、見つかった要素のみを返すことはできますか?

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

答えて

9

はい、フィルタ&を使用して見つける

Optional<Event> result = events 
     .parallelStream() 
     .filter(Event::isActive) 
     .findAny(); 
関連する問題