Я думаю, вы хотите сделать что-то подобное.Проверьте ниже, вы можете запустить этот код в Dartpad (вам нужно будет скопировать и вставить его).
class Meal {
Meal({this.dis, this.name});
final String dis;
final String name;
}
class Date {
Date({this.dat});
final String dat;
}
void main() {
List<Meal> _list1 = [
Meal(dis:'it is a chicken sandwichh', name: 'chekin filla'),
Meal(dis:'it is a chicken sandwichh', name: 'chekin filla'),
Meal(dis:'it is a chicken sandwichh', name: 'chekin filla'),
Meal(dis:'it is a chicken sandwichh', name: 'chekin filla'),
Meal(dis:'it is a chicken sandwichh', name: 'chekin filla')
];
List<Date> dates = [
Date(dat:'20th of september 2018'),
Date(dat:'21th of september 2018'),
Date(dat:'22th of september 2018'),
Date(dat:'23th of september 2018'),
Date(dat:'24th of september 2018')
];
// this is where the mapping will be placed
Map<Date, Meal> mealsEachDay = new Map();
// and here the relationship between the dates and the meals is done
for(var i = 0; i < dates.length; i++)
mealsEachDay[dates[i]] = _list1[i];
List<String> yourObjects = mealsEachDay.keys.map((date) {
return "The date is '${date.dat}' and the meal is '${mealsEachDay[date].dis}'";
}).toList();
yourObjects.forEach((s) {
print(s);
});
}
Но все же это не стоит многого.Вам нужно лучше понять взаимосвязь между объектами, списками и картами.
Проверьте этот другой пример ниже и запустите его также в dartpad.На каждое свидание есть блюда и их легче пройти.Другое улучшение также не использует даты в качестве текста.
class Meal {
Meal({this.dis, this.name});
final String dis;
final String name;
}
class MealDate {
MealDate({this.date, this.meals});
final DateTime date;
final List<Meal> meals;
}
void main() {
List<MealDate> mealsForEachDate = [
MealDate(
date: DateTime(2018, 9, 20),
meals: [
Meal(name: 'eggs', dis: 'scrambed eggs'),
Meal(name: 'chiken filet', dis: 'chicken sandwich'),
]
),
MealDate(
date: DateTime(2018, 9, 21),
meals: [
Meal(name: 'bread', dis: 'bread and water'),
]
),
MealDate(
date: DateTime(2018, 9, 22),
meals: [
Meal(name: 'rice', dis: 'rice and beans'),
]
),
];
mealsForEachDate.forEach((date) {
print("[Date ${date.date}]");
print(" Number of meals ${date.meals.length}");
var n = 0;
date.meals.forEach((meal) {
print(" Meal ${++n}: ${meal.dis}");
});
print("\n");
});
}
Удачи и никогда не прекращайте кодировать!