# List, Map, Future và async/await

> map, where, take trên List, cache bằng Map, collection-for và spread trong UI, Future với async/await.

- URL: https://dantech.academy/courses/flutter-mobile-101/01-dart-essentials/lesson-03-collections-and-async
- Khóa học: [Flutter Mobile 101](https://dantech.academy/courses/flutter-mobile-101.md)
- Module: Dart Essentials
- Thời lượng: 18 phút
- Độ khó: beginner
- Truy cập: Dành cho học viên

## Mục tiêu

- Dùng map, where, any, take để xử lý danh sách theo phong cách khai báo
- Đọc được vòng lặp lồng sinh dữ liệu và kỹ thuật cache kết quả bằng Map
- Đọc hiểu Future với async/await và biết vì sao không được chặn UI

## Nội dung bài học

1. List Và Map
2. Bốn Phép Biến Đổi Đáng Giá Nhất
3. Vòng Lặp Lồng Và Cache Bằng Map
4. Collection-for, Collection-if Và Spread: Đặc Sản Trong Widget Tree
5. Future Và async/await
6. Stream: App Này Không Dùng, Và Đó Là Một Quyết Định
7. Tự Kiểm Tra: Đọc Code AI Sinh

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/flutter-mobile-101/checkout)

---

- Bài trước: [Class, sealed class và pattern matching](https://dantech.academy/courses/flutter-mobile-101/01-dart-essentials/lesson-02-classes-sealed-and-patterns.md)
- Bài tiếp theo: [Widget tree, Column, Row và Expanded](https://dantech.academy/courses/flutter-mobile-101/02-widget-essentials/lesson-01-widget-tree-and-layout.md)
