2016-10-26 5 views
1

Я хочу собрать первые n элементов из потока, без повторения всей вещи. Есть ли стандартный метод, который делает это? AlafindFirst() для потоков Java, но для n элементов?

MyList.stream() 
    .filter(x -> predicate(x)) 
    .findFirstN(100) 

возвратит коллекцию до 100 элементов из потока? Моей альтернативой является оценка всего потока, а затем выборка из результата, но это не использует ленивую оценку, присущую потокам.

ответ