У меня проблемы с использованием потоков java. У меня есть два класса: Пицца классаJava-потоки список объектов
public class Pizza {
private final String name;
private final List<Ingredient> ingredients;
// ...
}
и класса Ингредиент с тем:
private final String preetyName;
private final int price;
private final boolean meat;
private final boolean spicy;
мне нужно использовать потоки, но я довольно новыми для этого. Сначала мне нужно сделать форматированный меню: У меня есть List<Pizza>
и после использования потоков он должен вернуть что-то вроде этого
pizza_name: ingredient1_preetyname, ingredient2_preetyname...\npizza2_name...
в одну строку. У меня есть что-то вроде этого, но это всего лишь строка из всех ингредиентов. Я не знаю, как добавить имя пиццы и \ п после ингредиентов
String lista=pizzas.stream()
.flatMap(p -> p.getIngredients().stream())
.map(i ->i.getPreetyName())
.collect(Collectors.joining(", "));
2. Во-вторых, что мне нужно, чтобы вернуть дешевый пряный (по крайней мере, один ингредиент, пряный) пицца. Я знаю, что я должен питать пиццу для пряных ингредиентов, и я знаю, что мне приходится подводить цены на ингредиенты, но я честно не знаю, как это сделать.
Если кто-то может помочь мне любым возможным способом, я буду благодарен.
'Collectors.joining (...)' поддерживает префикс, так что вы можете использовать 'Collectors.joining ("", p.getName() + ":", "")' ... – Holger
Действительно большое спасибо , это именно то, что я искал, это здорово. – Molioo