“Преобразование списка в карту в Dart/Flutter”
В Dart и Flutter работа с коллекциями — обычная задача. Иногда вам может потребоваться преобразовать список в карту, чтобы упростить манипулирование данными или изменить структуру данных. В этой статье мы рассмотрим несколько методов преобразования списка в карту с помощью Dart и Flutter, а также примеры кода.
Метод 1: использование цикла for
List<String> list = ['apple', 'banana', 'orange'];
Map<String, int> map = {};
for (var i = 0; i < list.length; i++) {
map[list[i]] = i;
}
print(map); // Output: {'apple': 0, 'banana': 1, 'orange': 2}
Метод 2: использование метода asMap()
List<String> list = ['apple', 'banana', 'orange'];
Map<int, String> map = {};
map = list.asMap();
print(map); // Output: {0: 'apple', 1: 'banana', 2: 'orange'}
Метод 3: использование метода map()
List<String> list = ['apple', 'banana', 'orange'];
Map<String, int> map = {};
map = Map.fromIterable(list, key: (item) => item, value: (item) => list.indexOf(item));
print(map); // Output: {'apple': 0, 'banana': 1, 'orange': 2}
Метод 4. Использование метода fold()
List<String> list = ['apple', 'banana', 'orange'];
Map<String, int> map = {};
map = list.fold({}, (previous, element) {
previous[element] = list.indexOf(element);
return previous;
});
print(map); // Output: {'apple': 0, 'banana': 1, 'orange': 2}
Метод 5. Использование метода toMap()
List<String> list = ['apple', 'banana', 'orange'];
Map<String, int> map = list.toMap((item) => item, (item) => list.indexOf(item));
print(map); // Output: {'apple': 0, 'banana': 1, 'orange': 2}
В этой статье мы рассмотрели различные методы преобразования списка в карту в Dart/Flutter. Мы рассмотрели методы использования цикла for, метода asMap(), метода map(), метода fold()и метода toMap()метод. Каждый метод продемонстрировал разные подходы к достижению желаемой конверсии. В зависимости от вашего конкретного варианта использования и предпочтений вы можете выбрать метод, который подходит вам лучше всего.