J'ai la classe "Store" suivante :
public class Store {
private String storeId;
private String storeName;
private List<DayOfWeek> openiningDays;
}
(e.g.:)
{
storeId: 1
storeName: blabla
openingDays: [MONDAY,TUESDAY,...]
}
et une liste de magasins "x".
List<Store> stores = ......
En utilisant la classe stream de java, ou une autre méthode similaire, je veux obtenir une liste plate des jours de la semaine, incluant le nom du magasin et l'identifiant du magasin.
par exemple : (résultat souhaité)
[
{
storeId: 1
storeName: blabla
openingDay: MONDAY
},
{
storeId: 2
storeName: blabla
openingDay: SATURDAY
},
{
storeId: 3
storeName: blabla
openingDay: FRIDAY
}
]
J'ai déjà trouvé une solution possible, mais je n'en suis pas satisfait :
List<OtherType> transformed = new List<>();
for (Store store : stores) {
for (DayOfWeek currentDay : openingDays) {
transformed.add(new OtherType(.....));
}
}
Est-il possible de faire cela avec quelque chose comme "flatMap(..)" ? (pour pouvoir utiliser la classe stream de java) ou une autre méthode prédéfinie ?
Merci d'avance :)