我有一个工作日和时间的Map。但是我不能根据工作日排序,所以星期一排在第一位,然后是下一个。这是我的Map示例。我尝试了SplayTreeMap,但是我不能使它工作。
Map<String, dynamic> onlineVideoAppointment = {
'Mon': '12:00 AM-12:30 AM',
'Wed': '12:15 AM-1:15 AM',
'Sun': '12:00 AM-1:00 AM',
'Thu': '12:30 AM-1:30 AM',
'Tue': '12:15 AM-1:15 AM',
'Fri': '12:30 AM-1:00 AM',
'Sat': '12:00 AM-12:30 AM'
};
3条答案
按热度按时间yjghlzjz1#
SplayTreeMap
确实按键排序,但是因为你的键是String
s,它会按字母顺序排序,如果你可以使用DateTime.monday
,DateTime.tuesday
等常量(碰巧已经从Monday开始)作为键,那么它会有你想要的排序顺序。如果你必须使用基于
String
的键,那么你只需要提供一个简单的方法来将String
转换成常量,并提供一个合适的比较函数:tag5nh1u2#
我决定从这个问题中寻找乐趣,并使用可迭代函数解决了这个问题。
fd3cxomn3#
对于在这种情况下仍然需要帮助的任何人,请尝试手动为天分配数字,并按您分配数字的字段对它们进行排序。