Skip to Content

List (Mảng) trong Dart

1. Tạo List

// List literal var numbers = [1, 2, 3, 4, 5]; var fruits = ["Apple", "Banana", "Orange"]; // Empty list var emptyList = <int>[]; var anotherList = List<String>.empty(growable: true); // Fixed length var fixedList = List<int>.filled(5, 0); // [0, 0, 0, 0, 0]

2. Truy cập phần tử

var fruits = ["Apple", "Banana", "Orange"]; print(fruits[0]); // Apple print(fruits.first); // Apple print(fruits.last); // Orange print(fruits.length); // 3

3. Thêm phần tử

var numbers = [1, 2, 3]; numbers.add(4); // [1, 2, 3, 4] numbers.addAll([5, 6]); // [1, 2, 3, 4, 5, 6] numbers.insert(0, 0); // [0, 1, 2, 3, 4, 5, 6]

4. Xóa phần tử

var numbers = [1, 2, 3, 4, 5]; numbers.remove(3); // [1, 2, 4, 5] numbers.removeAt(0); // [2, 4, 5] numbers.removeLast(); // [2, 4] numbers.clear(); // []

5. Duyệt List

var fruits = ["Apple", "Banana", "Orange"]; // For-in for (var fruit in fruits) { print(fruit); } // forEach fruits.forEach((fruit) => print(fruit)); // For loop với index for (var i = 0; i < fruits.length; i++) { print("$i: ${fruits[i]}"); }

6. List Methods

var numbers = [1, 2, 3, 4, 5]; // Map var doubled = numbers.map((n) => n * 2).toList(); // [2, 4, 6, 8, 10] // Where (filter) var evens = numbers.where((n) => n % 2 == 0).toList(); // [2, 4] // Reduce var sum = numbers.reduce((a, b) => a + b); // 15 // Contains print(numbers.contains(3)); // true // IndexOf print(numbers.indexOf(3)); // 2

7. Spread Operator

var list1 = [1, 2, 3]; var list2 = [4, 5, 6]; var combined = [...list1, ...list2]; // [1, 2, 3, 4, 5, 6] // Conditional spread var includeZero = true; var numbers = [ if (includeZero) 0, 1, 2, 3 ];

8. List Comprehension

var squares = [for (var i in [1, 2, 3, 4]) i * i]; // [1, 4, 9, 16]

📝 Tóm tắt

  • [...] - List literal
  • add(), addAll(), insert() - Thêm
  • remove(), removeAt(), clear() - Xóa
  • map(), where(), reduce() - Higher-order functions
  • ... - Spread operator
  • Collection if/for - List comprehension
Last updated on