首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Dart中将List<Event>转换为Map<DateTime,List<Event>>?

在Dart中,可以使用groupBy方法将List<Event>转换为Map<DateTime, List<Event>>groupBy方法是collection包中的一个方法,需要先导入package:collection/collection.dart

下面是一个示例代码:

代码语言:txt
复制
import 'package:collection/collection.dart';

class Event {
  DateTime dateTime;
  String name;

  Event(this.dateTime, this.name);
}

void main() {
  List<Event> events = [
    Event(DateTime(2022, 1, 1), 'Event 1'),
    Event(DateTime(2022, 1, 1), 'Event 2'),
    Event(DateTime(2022, 1, 2), 'Event 3'),
    Event(DateTime(2022, 1, 3), 'Event 4'),
    Event(DateTime(2022, 1, 3), 'Event 5'),
  ];

  Map<DateTime, List<Event>> eventMap = groupBy(events, (Event event) => event.dateTime);

  eventMap.forEach((key, value) {
    print('$key: $value');
  });
}

在上面的代码中,我们定义了一个Event类,包含dateTimename属性。然后创建了一个包含多个Event对象的events列表。

通过调用groupBy方法,将events列表按照dateTime属性进行分组,得到一个Map<DateTime, List<Event>>类型的结果。

最后,我们使用forEach方法遍历eventMap,打印每个日期对应的事件列表。

这是一个简单的示例,你可以根据实际需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券