🧑💻List
В Dart List
— это упорядоченная коллекция объектов, где каждый элемент имеет свой индекс, начиная с нуля. Ниже перечислены основные методы и свойства, которые можно использовать с List
, с простыми объяснениями и примерами.
Свойства и методы List
List
Свойство
length
Описание: Возвращает количество элементов в списке.
Пример:
void main() { List<int> numbers = [1, 2, 3, 4, 5]; print(numbers.length); // Вывод: 5 }
Аналогия: Длина списка — это как количество страниц в книге. Если книга толстая, у нее много страниц.
Метод
add()
Описание: Добавляет элемент в конец списка.
Пример:
void main() { List<String> fruits = ['apple', 'banana']; fruits.add('orange'); print(fruits); // Вывод: [apple, banana, orange] }
Аналогия: Это как добавление новой страницы в конец книги.
Метод
insert()
Описание: Вставляет элемент в указанный индекс.
Пример:
void main() { List<String> colors = ['red', 'green', 'blue']; colors.insert(1, 'yellow'); print(colors); // Вывод: [red, yellow, green, blue] }
Аналогия: Это как вставка новой страницы в середину книги.
Метод
remove()
Описание: Удаляет первый найденный элемент из списка.
Пример:
void main() { List<String> animals = ['cat', 'dog', 'fish']; animals.remove('dog'); print(animals); // Вывод: [cat, fish] }
Аналогия: Это как вырывание страницы из книги.
Метод
removeAt()
Описание: Удаляет элемент по указанному индексу.
Пример:
void main() { List<String> cities = ['New York', 'London', 'Tokyo']; cities.removeAt(1); print(cities); // Вывод: [New York, Tokyo] }
Аналогия: Это как вырывание конкретной страницы, скажем, второй.
Метод
clear()
Описание: Удаляет все элементы из списка.
Пример:
void main() { List<int> numbers = [1, 2, 3]; numbers.clear(); print(numbers); // Вывод: [] }
Аналогия: Это как сжигать книгу, чтобы убрать все страницы.
Метод
contains()
Описание: Проверяет, содержит ли список указанный элемент.
Пример:
void main() { List<String> countries = ['USA', 'Canada', 'Mexico']; print(countries.contains('Canada')); // Вывод: true }
Аналогия: Это как проверка, есть ли определенная страница в книге.
Метод
indexOf()
Описание: Возвращает индекс первого вхождения указанного элемента.
Пример:
void main() { List<String> fruits = ['apple', 'banana', 'orange']; print(fruits.indexOf('banana')); // Вывод: 1 }
Аналогия: Это как поиск страницы с конкретной информацией в книге.
Метод
sort()
Описание: Сортирует элементы списка.
Пример:
void main() { List<int> numbers = [3, 1, 4, 2]; numbers.sort(); print(numbers); // Вывод: [1, 2, 3, 4] }
Аналогия: Это как перестановка страниц в книге по порядку.
Метод
map()
Описание: Применяет функцию к каждому элементу списка и возвращает новый список.
Пример:
void main() { List<int> numbers = [1, 2, 3]; List<int> squares = numbers.map((n) => n * n).toList(); print(squares); // Вывод: [1, 4, 9] }
Аналогия: Это как создание новой книги с переосмысленным содержанием каждой страницы
Метод
first
Описание: Возвращает первый элемент списка.
Пример:
dartКопировать кодvoid main() { List<String> fruits = ['apple', 'banana', 'orange']; print(fruits.first); // Вывод: apple }
Аналогия: Это как открывать книгу на первой странице..
Метод
last
Описание: Возвращает последний элемент списка.
Пример:
dartКопировать кодvoid main() { List<String> fruits = ['apple', 'banana', 'orange']; print(fruits.last); // Вывод: orange }
Аналогия: Это как открывать книгу на последней странице.
Метод
reversed
Описание: Возвращает новый итератор, который перебирает элементы списка в обратном порядке.
Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 3, 4]; print(numbers.reversed.toList()); // Вывод: [4, 3, 2, 1] }
Аналогия: Это как читать книгу с конца к началу.
Метод
sublist()
Описание: Возвращает новый список, содержащий элементы с указанного начального индекса до конечного.
Пример:
dartКопировать кодvoid main() { List<int> numbers = [10, 20, 30, 40, 50]; print(numbers.sublist(1, 4)); // Вывод: [20, 30, 40] }
Аналогия: Это как вырезать часть страниц из книги и делать на их основе отдельный том.
Метод
forEach()
Описание: Применяет заданную функцию к каждому элементу списка.
Пример:
dartКопировать кодvoid main() { List<String> names = ['Alice', 'Bob', 'Charlie']; names.forEach((name) => print(name)); // Вывод: // Alice // Bob // Charlie }
Аналогия: Это как читать каждую страницу в книге и делать заметки по каждой из них.
Метод
toSet()
Описание: Преобразует список в
Set
, удаляя дубликаты.Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 2, 3, 4, 4]; print(numbers.toSet().toList()); // Вывод: [1, 2, 3, 4] }
Аналогия: Это как собрать все уникальные страницы из нескольких книг.
Метод
fold()
Описание: Применяет функцию к каждому элементу списка и накапливает результат.
Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 3, 4]; int sum = numbers.fold(0, (prev, element) => prev + element); print(sum); // Вывод: 10 }
Аналогия: Это как складывать страницы в книге, чтобы получить общее количество страниц.
Метод
take()
Описание: Возвращает новый список, состоящий из первых
n
элементов.Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 3, 4, 5]; print(numbers.take(3).toList()); // Вывод: [1, 2, 3] }
Аналогия: Это как отбирать первые страницы книги для быстрого прочтения.
Метод
skip()
Описание: Пропускает первые
n
элементов и возвращает оставшиеся.Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 3, 4, 5]; print(numbers.skip(2).toList()); // Вывод: [3, 4, 5] }
Аналогия: Это как пропускать первые страницы книги, чтобы сразу перейти к интересной части.
Метод
where()
Описание: Возвращает новый список, состоящий из элементов, которые соответствуют заданному условию.
Пример:
dartКопировать кодvoid main() { List<int> numbers = [1, 2, 3, 4, 5]; List<int> evenNumbers = numbers.where((n) => n.isEven).toList(); print(evenNumbers); // Вывод: [2, 4] }
Аналогия: Это как отбирать страницы с определенной информацией в книге.
Last updated