Класс ListMixin< E>
Базовая реализация класса List.
ListMixin можно использовать как миксин, чтобы класс реализовывал интерфейс List.
Этот миксин реализует все операции чтения, используя только элементы length и operator[]. Он реализует операции записи, используя их, а также add, length= и operator[]=. Классы, использующие этот миксин, должны реализовать эти пять операций.
ВНИМАНИЕ: Для обеспечения обратной совместимости предусмотрена реализация add по умолчанию, которая работает только со списками с nullable-типом элементов. Для списков с non-nullable-типом элементов необходимо реализовать метод add.
ВНИМАНИЕ: Простое перенаправление четырёх операций чтения/записи length и [] к обычному расширяемому List (созданному, например, литералом []) приведёт к очень низкой производительности операций add и addAll класса ListMixin. Эти операции реализованы путём увеличения длины списка на единицу при каждой операции add, а многократное увеличение длины расширяемого списка неэффективно. Чтобы избежать этого, переопределите методы 'add' и 'addAll', чтобы они также перенаправлялись непосредственно к расширяемому списку, или, если возможно, используйте DelegatingList из "package:collection/collection.dart" вместо ListMixin.
- Реализуемые типы
-
-
List<
E>
-
List<
- Реализующие классы
- Доступные расширения
Конструкторы
- ListMixin()
Свойства
- first ↔ E чтение / записьпереопределение
- Возвращает первый элемент.
- hashCode → int только чтениенаследуемое
- Хеш-код этого объекта.
- isEmpty → bool только чтениепереопределение
- Возвращает, не содержит ли эта коллекция элементов.
- isNotEmpty → bool только чтениепереопределение
- Возвращает, содержит ли эта коллекция хотя бы один элемент.
- iterator → Iterator<
E> только чтениепереопределение - Возвращает новый
Iterator, позволяющий перебирать элементы этогоIterable. - last ↔ E чтение / записьпереопределение
- Возвращает последний элемент.
- length ↔ int чтение / записьнаследуемое
- Количество объектов в этом списке.
- reversed → Iterable<
E> только чтениепереопределение - Iterable объектов этого списка в обратном порядке.
- runtimeType → Type только чтениенаследуемое
- Представление типа объекта во время выполнения.
- single → E только чтениепереопределение
- Проверяет, содержит ли эта последовательность только один элемент, и возвращает его.
Методы
- add(
E element) → void переопределение - Добавляет
valueв конец этого списка, увеличивая его длину на единицу. - addAll(
Iterable< E> iterable) → void переопределение - Добавляет все объекты из
iterableв конец этого списка. - any(
bool test(E element)) → bool переопределение - Проверяет, удовлетворяет ли какой-либо элемент этой последовательности условию
test. - asMap(
) → Map< int, E> переопределение - Нередактируемое представление этого списка в виде Map.
- cast<
R>( ) → List< R> переопределение - Возвращает представление этого списка как списка экземпляров
R. - clear(
) → void переопределение - Удаляет все объекты из этого списка; длина списка становится равной нулю.
- contains(
Object? element) → bool переопределение - Содержит ли коллекция элемент, равный
element. - elementAt(
int index) → E переопределение - Возвращает элемент под номером
index. - every(
bool test(E element)) → bool переопределение - Проверяет, удовлетворяет ли каждый элемент этой последовательности условию
test. - expand<
T>( Iterable< T> f(E element)) → Iterable< T> переопределение - Преобразует каждый элемент этого Iterable в ноль или более элементов.
- fillRange(
int start, int end, [E? fill]) → void переопределение - Заменяет элементы в диапазоне значением
fillValue. - firstWhere(
bool test(E element), {E orElse()?}) → E переопределение - Возвращает первый элемент, удовлетворяющий заданному предикату
test. - fold<
T>( T initialValue, T combine(T previousValue, E element)) → T переопределение - Сводит коллекцию к одному значению, последовательно объединяя каждый её элемент с уже имеющимся значением.
- followedBy(
Iterable< E> other) → Iterable< E> переопределение - Возвращает ленивую конкатенацию этой последовательности и
other. - forEach(
void action(E element)) → void переопределение - Вызывает
actionдля каждого элемента этой последовательности в порядке итерации. - getRange(
int start, int end) → Iterable< E> переопределение - Создаёт Iterable, перебирающий элементы заданного диапазона.
- indexOf(
Object? element, [int start = 0]) → int переопределение - Индекс первого вхождения
elementв этом списке. - indexWhere(
bool test(E element), [int start = 0]) → int переопределение - Первый индекс в списке, удовлетворяющий заданному условию
test. - insert(
int index, E element) → void переопределение - Вставляет
elementв позициюindexэтого списка. - insertAll(
int index, Iterable< E> iterable) → void переопределение - Вставляет все объекты из
iterableв позициюindexэтого списка. - join(
[String separator = ""]) → String переопределение - Преобразует каждый элемент в String и объединяет строки.
- lastIndexOf(
Object? element, [int? start]) → int переопределение - Индекс последнего вхождения
elementв этом списке. - lastIndexWhere(
bool test(E element), [int? start]) → int переопределение - Последний индекс в списке, удовлетворяющий заданному условию
test. - lastWhere(
bool test(E element), {E orElse()?}) → E переопределение - Возвращает последний элемент, удовлетворяющий заданному предикату
test. - map<
T>( T f(E element)) → Iterable< T> переопределение - Текущие элементы этой последовательности, преобразованные функцией
toElement. - noSuchMethod(
Invocation invocation) → dynamic наследуемое - Вызывается при обращении к несуществующему методу или свойству.
- reduce(
E combine(E previousValue, E element)) → E переопределение - Сводит коллекцию к одному значению, последовательно объединяя её элементы с помощью заданной функции.
- remove(
Object? element) → bool переопределение - Удаляет первое вхождение
valueиз этого списка. - removeAt(
int index) → E переопределение - Удаляет объект в позиции
indexиз этого списка. - removeLast(
) → E переопределение - Удаляет и возвращает последний объект этого списка.
- removeRange(
int start, int end) → void переопределение - Удаляет из списка диапазон элементов.
- removeWhere(
bool test(E element)) → void переопределение - Удаляет из этого списка все объекты, удовлетворяющие условию
test. - replaceRange(
int start, int end, Iterable< E> newContents) → void переопределение - Заменяет диапазон элементов элементами из
replacements. - retainWhere(
bool test(E element)) → void переопределение - Удаляет из этого списка все объекты, не удовлетворяющие условию
test. - setAll(
int index, Iterable< E> iterable) → void переопределение - Заменяет элементы объектами из
iterable. - setRange(
int start, int end, Iterable< E> iterable, [int skipCount = 0]) → void переопределение - Записывает некоторые элементы из
iterableв диапазон этого списка. - shuffle(
[Random? random]) → void переопределение - Случайным образом перемешивает элементы этого списка.
- singleWhere(
bool test(E element), {E orElse()?}) → E переопределение - Возвращает единственный элемент, удовлетворяющий условию
test. - skip(
int count) → Iterable< E> переопределение - Возвращает Iterable, содержащий все элементы, кроме первых
count. - skipWhile(
bool test(E element)) → Iterable< E> переопределение - Возвращает
Iterable, пропускающий начальные элементы, пока выполняется условиеtest. - sort(
[int compare(E a, E b)?]) → void переопределение - Сортирует этот список в соответствии с порядком, заданным функцией
compare. - sublist(
int start, [int? end]) → List< E> переопределение - Возвращает новый список, содержащий элементы между
startиend. - take(
int count) → Iterable< E> переопределение - Возвращает ленивую последовательность из первых
countэлементов этой последовательности. - takeWhile(
bool test(E element)) → Iterable< E> переопределение - Возвращает ленивую последовательность начальных элементов, удовлетворяющих условию
test. - toList(
{bool growable = true}) → List< E> переопределение - Создаёт List, содержащий элементы этого Iterable.
- toSet(
) → Set< E> переопределение - Создаёт Set, содержащий те же элементы, что и эта последовательность.
- toString(
) → String переопределение - Строковое представление этого объекта.
- where(
bool test(E element)) → Iterable< E> переопределение - Возвращает новую ленивую Iterable со всеми элементами, удовлетворяющими предикату
test. - whereType<
T>( ) → Iterable< T> переопределение - Возвращает новую ленивую Iterable со всеми элементами типа
T.
Операторы
- operator +(
List< E> other) → List< E> переопределение - Возвращает конкатенацию этого списка и
other. - operator ==(
Object other) → bool наследуемое - Оператор равенства.
- operator [](
int index) → E наследуемое - Объект по заданному
indexв списке. - operator []=(
int index, E value) → void наследуемое - Устанавливает значение
valueпо заданномуindexв списке.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/ListMixin-class.html