Skip to Content
Dart📘 Ngôn ngữ DartCollections Methods

Collections Methods trong Dart

1. Giới thiệu

Dart cung cấp nhiều methods mạnh mẽ để xử lý List, Set và Map.

2. map()

Chuyển đổi từng phần tử:

void main() { var numbers = [1, 2, 3, 4, 5]; var doubled = numbers.map((n) => n * 2).toList(); print(doubled); // [2, 4, 6, 8, 10] }

3. where() - Filter

Lọc phần tử theo điều kiện:

void main() { var numbers = [1, 2, 3, 4, 5, 6]; var evens = numbers.where((n) => n % 2 == 0).toList(); print(evens); // [2, 4, 6] }

4. reduce()

Gộp các phần tử thành một giá trị:

void main() { var numbers = [1, 2, 3, 4, 5]; var sum = numbers.reduce((a, b) => a + b); print(sum); // 15 var product = numbers.reduce((a, b) => a * b); print(product); // 120 }

5. fold()

Giống reduce nhưng có giá trị khởi tạo:

void main() { var numbers = [1, 2, 3, 4, 5]; var sum = numbers.fold<int>(10, (acc, n) => acc + n); print(sum); // 25 (10 + 1 + 2 + 3 + 4 + 5) }

6. any() và every()

void main() { var numbers = [1, 2, 3, 4, 5]; // Có ít nhất 1 phần tử thỏa mãn? print(numbers.any((n) => n > 3)); // true // Tất cả phần tử thỏa mãn? print(numbers.every((n) => n > 0)); // true }

7. firstWhere() và lastWhere()

void main() { var numbers = [1, 2, 3, 4, 5]; var first = numbers.firstWhere((n) => n > 2); print(first); // 3 var last = numbers.lastWhere((n) => n < 4); print(last); // 3 // Với orElse var notFound = numbers.firstWhere( (n) => n > 10, orElse: () => -1 ); print(notFound); // -1 }

8. sort()

void main() { var numbers = [3, 1, 4, 1, 5, 9, 2, 6]; numbers.sort(); print(numbers); // [1, 1, 2, 3, 4, 5, 6, 9] // Sắp xếp giảm dần numbers.sort((a, b) => b.compareTo(a)); print(numbers); // [9, 6, 5, 4, 3, 2, 1, 1] }

9. take() và skip()

void main() { var numbers = [1, 2, 3, 4, 5]; print(numbers.take(3).toList()); // [1, 2, 3] print(numbers.skip(2).toList()); // [3, 4, 5] }

10. expand()

Làm phẳng nested list:

void main() { var nested = [[1, 2], [3, 4], [5]]; var flat = nested.expand((x) => x).toList(); print(flat); // [1, 2, 3, 4, 5] }

📝 Tóm tắt

MethodMục đích
map()Chuyển đổi phần tử
where()Lọc phần tử
reduce()Gộp thành 1 giá trị
fold()Gộp với giá trị khởi tạo
any()Kiểm tra có phần tử thỏa mãn
every()Kiểm tra tất cả thỏa mãn
sort()Sắp xếp
take()/skip()Lấy/bỏ qua n phần tử
Last updated on