3
У меня есть поток объектов, из которого мне нужно извлечь поток, который имеет только некоторые атрибуты объекта.Java 8: извлечение субпотока из потока
Например, от Stream<Car>
, мне нужно извлечь Stream<CarDetails>
.
Car {
String name;
String model;
Engine e;
CarType t;
...
}
Я хочу, чтобы извлечь Stream
объектов, имеющих тип CarDetails
:
CarDetails {
String name;
String model;
}
Попеременно, используя a CarDetailsFactory: 'cars.map (CarDetailsFactory :: createCarDe хвосты) ' или метод, который' Car' предоставляет: 'cars.map (Car :: createDetailsObject)' –
Спасибо .. просто чтобы расширить мой вопрос немного больше .. что, если 'Car.model' является 'Set' и я все еще хочу 'stream ' с индивидуальной моделью и названием машины .. –
Sneha
@Sneha В этом случае вы можете использовать 'flatMap' -' cars.flatMap (c-> c.getModels(). Stream () .map (m-> new CarDetails (c.getName(), m))) '. – Eran