Можно ли получит параметр flatMap в стриме ?
list.stream().flatMap(a -> a.getBs().stream()).forEach(b->System.out.print(a));
Предположим у меня нет обратной связи от a к b
Если вам для этой задачи хочется использовать стримы (кстати, зачем? раз вы сталкиваетесь с трудностями, может быть цикл будет более разумным решением?), то найдите способ доставить в конец цепочки и значение a и b. Поскольку в java нет кортежей, создайте свой класс-контейнер для пары значений:
public class Pair<A, B> {
public final A fst;
public final B snd;
public Pair(A a, B b) { fst = a; snd = b; }
}
и мапьте ваш список в stream пар:
list.stream()
.flatMap(a -> a.getBs().stream().map(b -> new Pair(a, b)))
.forEach(pair -> System.out.print(pair.fst));
Stream, как следует из его названия - это поток, что "вытекло" из одной операции, то и поступит в другую.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости