JavaストリームTakeUntil 100個の要素フィルタリング/収集

フィル:

私のようなストリームを使用します:

List<String> result = myArr
    .stream()
    .filter(line -> !"foo".equals(line))
    .collect(Collectors.toList());

しかし、すぐに私は収集する準備ができて、最大100個の要素を持っているとしてとしてフィルタリングを停止します。どのように私はすべてをフィルタリングして呼び出すことなく、これを達成することができますかsubList(100, result.size())

ernest_k:

あなたは使用することができますlimit filter

List<String> result = myArr
    .stream()
    .filter(line -> !"foo".equals(line))
    .limit(100) 
    .collect(Collectors.toList());

100件のアイテムが(フィルタリング後に発見された後、このストリームを停止するlimit短絡流動作です)。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=178564&siteId=1