Я не уверен, что вопрос уже задан. Я по-прежнему новичок в Java Stream API и Guava от Google.Завершить поток каждый раз, когда next() называется
Я хотел бы использовать Java Stream API для преобразования или сопоставления одного объекта другому элементу за раз. Похоже, что это не так, как собирать. Кажется, что collect будет преобразовывать все элементы в поток, когда он вызывается вместо одного. В идеале я хотел бы предоставить итерабельность, которая позволяет конвертировать один элемент, когда вызывается что-то вроде функции next().
Может быть, это будет выглядеть примерно так:
private Iterable<ObjectA> getIterable(Iterable<ObjectB> itemsToConvert) {
return itemsToConvert.map(mappingFunction);
}
public static void main(String[] args) {
Iterable<ObjectA> myIterable = getIterable(itemsFromSomewhere);
// do the conversion here
ObjectA myItem = myIterable.next();
}
Есть ли способ сделать это в Java, используя поток API? Если нет, есть ли способ сделать это с помощью Google Guava?
Может быть, добавить псевдокод пример того, чего вы хотите достичь ... –
@Erik это то, что вы можете ищите? http://stackoverflow.com/questions/23932061/convert-iterable-to-stream-using-java-8-jdk – Eugene
@Eugene Я так думаю. Спасибо – Erik