Spec-Zone.ru › Dart 1

dart:core

Список абстрактный класс

Индексируемое множество объектов с длиной.

Подклассы этого класса реализуют различные типы списков. Наиболее распространённые типы списков:

  • Список фиксированной длины. При попытке использовать операции, которые могут изменить длину списка, возникает ошибка.

  • Изменяемый список. Полная реализация API, определённого в этом классе.

По умолчанию изменяемый список, возвращаемый new List() или [], сохраняет внутренний буфер и увеличивает его при необходимости. Это гарантирует, что последовательность операций add будет выполняться в среднем за постоянное время. Непосредственное задание длины может занять время, пропорциональное новой длине, и может изменить внутреннюю ёмкость таким образом, что последующая операция add потребует немедленного увеличения ёмкости буфера. Другие реализации списков могут иметь другое поведение производительности.

Следующий код иллюстрирует, что некоторые реализации List поддерживают только подмножество API.

List<int> fixedLengthList = new List(5);
fixedLengthList.length = 0;  // Error
fixedLengthList.add(499);    // Error
fixedLengthList[0] = 87;
List<int> growableList = [1, 2];
growableList.length = 0;
growableList.add(499);
growableList[0] = 87;

Списки являются Iterable. Итерация происходит по значениям в порядке индексов. Изменение значений не влияет на итерацию, но изменение допустимых индексов — то есть изменение длины списка — между шагами итерации приводит к ConcurrentModificationError. Это означает, что только изменяемые списки могут выбрасывать ConcurrentModificationError. Если длина временно изменяется и восстанавливается до продолжения итерации, итератор этого не обнаруживает.

Обычно не допускается изменение длины списка (добавление или удаление элементов) во время выполнения операции над списком, например, во время вызова forEach или sort. Изменение длины списка во время его итерации, как непосредственно, так и через итерацию Iterable, которая поддерживается списком, нарушит итерацию.

Реализует
  • EfficientLengthIterable<E>
Реализуется в
  • AudioTrackList
  • DomStringList
  • FileList
  • Float32List
  • Float32x4List
  • Float64List
  • Float64x2List
  • HtmlCollection
  • ImmutableListMixin
  • Int16List
  • Int32List
  • Int32x4List
  • Int64List
  • Int8List
  • LengthList
  • ListMixin
  • MimeTypeArray
  • NodeList
  • NumberList
  • PluginArray
  • SourceBufferList
  • SpeechGrammarList
  • SqlResultSetRowList
  • StringList
  • TextTrackCueList
  • TextTrackList
  • TouchList
  • TransformList
  • Uint16List
  • Uint32List
  • Uint64List
  • Uint8ClampedList
  • Uint8List

Конструкторы

List([int length ])
factory

Создаёт список заданной длины.

List.filled(int length, E fill, { bool growable: false })
factory

Создаёт список фиксированной длины заданной длины, и инициализирует значение в каждой позиции со значением fill:

List.from(Iterable elements, { bool growable: true })
factory

Создаёт список, содержащий все elements.

List.generate(int length, E generator(int index), { bool growable: true })
factory

Генерирует список значений.

List.unmodifiable(Iterable elements)
factory

Создаёт неизменяемый список, содержащий все elements.

Свойства

length → int
чтение/запись

Возвращает количество объектов в этом списке.

reversed → Iterable<E>
только для чтения

Возвращает Iterable объектов в этом списке в обратном порядке.

first → E
только для чтения, унаследованное

Возвращает первый элемент.

hashCode → int
только для чтения, унаследованное

Хеш-код для этого объекта.

isEmpty → bool
только для чтения, унаследованное

Возвращает true если в этом наборе нет элементов.

isNotEmpty → bool
только для чтения, унаследованное

Возвращает true, если в этом наборе есть хотя бы один элемент.

iterator → Iterator<E>
только для чтения, унаследованное

Возвращает новый Iterator, который позволяет итерировать элементы этого Iterable.

last → E
только для чтения, унаследованное

Возвращает последний элемент.

runtimeType → Type
только для чтения, унаследованное

Представление типа объекта во время выполнения.

single → E
только для чтения, унаследованное

Проверяет, что в этом итерируемом наборе есть только один элемент, и возвращает этот элемент.

Операторы

operator [](int index) → E

Возвращает объект по заданному index в списке или выбрасывает RangeError, если index находится за пределами границ.

operator []=(int index, E value) → void

Устанавливает значение по заданному index в списке на value или выбрасывает RangeError, если index находится за пределами границ.

operator ==(other) → bool
унаследованное

Оператор равенства.

Методы

add(E значение) → void

Добавляет value в конец этого списка, увеличивая его длину на единицу.

addAll(Iterable<E> итерируемый) → void

Добавляет все объекты из iterable в конец этого списка.

asMap() → Map<int, E>

Возвращает неизменяемый вид Map this.

clear() → void

Удаляет все объекты из этого списка; длина списка становится нулевой.

fillRange(int начало, int конец, [ E значениеЗаполнения ]) → void

Устанавливает объекты в диапазоне start включительно до end не включительно заданному fillValue.

getRange(int начало, int конец) → Iterable<E>

Возвращает Iterable, который перебирает объекты в диапазоне start включительно до end не включительно.

indexOf(E элемент, [ int начало = 0 ]) → int

Возвращает первый индекс element в этом списке.

insert(int индекс, E элемент) → void

Вставляет объект в позицию index в этот список.

insertAll(int индекс, Iterable<E> итерируемый) → void

Вставляет все объекты из iterable в позицию index в этот список.

lastIndexOf(E элемент, [ int начало ]) → int

Возвращает последний индекс element в этом списке.

remove(Object значение) → bool

Удаляет первое вхождение value из этого списка.

removeAt(int индекс) → E

Удаляет объект в позиции index из этого списка.

removeLast() → E

Извлекает и возвращает последний объект в этом списке.

removeRange(int начало, int конец) → void

Удаляет объекты в диапазоне start включительно до end не включительно.

removeWhere(bool тест(E элемент)) → void

Удаляет все объекты из этого списка, которые удовлетворяют test.

replaceRange(int начало, int конец, Iterable<E> замена) → void

Удаляет объекты в диапазоне start включительно до end не включительно и вставляет содержимое replacement на его место.

retainWhere(bool тест(E элемент)) → void

Удаляет все объекты из этого списка, которые не удовлетворяют test.

setAll(int индекс, Iterable<E> итерируемый) → void

Заменяет объекты this на объекты iterable, начиная с позиции index в этом списке.

setRange(int начало, int конец, Iterable<E> итерируемый, [ int пропускСчетов = 0 ]) → void

Копирует объекты из iterable, пропуская skipCount объектов сначала, в диапазон start, включительно, до end, не включительно, списка.

shuffle([Random случайность ]) → void

Случайно перемешивает элементы этого списка.

sort([int сравнение(E a, E b) ]) → void

Сортирует этот список в соответствии с порядком, заданным функцией compare.

sublist(int начало, [ int конец ]) → List<E>

Возвращает новый список, содержащий объекты от start включительно до end не включительно.

any(bool f(E элемент)) → bool
inherited

Проверяет, удовлетворяет ли какой-либо элемент этого итерируемого объекта test.

contains(Object элемент) → bool
inherited

Возвращает true, если коллекция содержит элемент, равный element.

elementAt(int индекс) → E
inherited

Возвращает index-й элемент.

every(bool f(E элемент)) → bool
inherited

Проверяет, удовлетворяет ли каждый элемент этого итерируемого объекта test.

expand<T>(Iterable<T> f(E элемент)) → Iterable<T>
inherited

Расширяет каждый элемент этого Iterable на ноль или более элементов.

firstWhere(bool тест(E элемент), { E илиElse() }) → E
inherited

Возвращает первый элемент, удовлетворяющий заданному предикату test.

fold<T>(T начальноеЗначение, T комбинировать(T предыдущееЗначение, E элемент)) → T
inherited

Приводит коллекцию к единственному значению, итеративно комбинируя каждый элемент коллекции с существующим значением.

forEach(void f(E элемент)) → void
inherited

Применяет функцию f к каждому элементу этой коллекции в порядке итерации.

join([String разделитель = "" ]) → String
inherited

Преобразует каждый элемент в String и конкатенирует строки.

lastWhere(bool тест(E элемент), { E илиElse() }) → E
inherited

Возвращает последний элемент, удовлетворяющий заданному предикату test.

map<T>(T f(E e)) → Iterable<T>
inherited

Возвращает новый ленивый Iterable с элементами, созданными путем вызова f для каждого элемента этого Iterable в порядке итерации.

noSuchMethod(Invocation вызов) → dynamic
inherited

Вызывается при попытке доступа к несуществующему методу или свойству.

reduce(E комбинировать(E значение, E элемент)) → E
inherited

Приводит коллекцию к единственному значению, итеративно комбинируя элементы коллекции с помощью предоставленной функции.

singleWhere(bool тест(E элемент)) → E
inherited

Возвращает единственный элемент, удовлетворяющий test.

skip(int количество) → Iterable<E>
inherited

Возвращает Iterable, который предоставляет все, кроме первых count элементов.

skipWhile(bool тест(E значение)) → Iterable<E>
inherited

Возвращает Iterable, который пропускает начальные элементы, пока test выполняется.

take(int количество) → Iterable<E>
inherited

Возвращает ленивый итерируемый объект первых count элементов этого итерируемого объекта.

takeWhile(bool тест(E значение)) → Iterable<E>
inherited

Возвращает ленивый итерируемый объект начальных элементов, удовлетворяющих test.

toList({bool изменяемый: true }) → List<E>
inherited

Создает List, содержащий элементы этого Iterable.

toSet() → Set<E>
inherited

Создает Set, содержащий те же элементы, что и этот итерируемый объект.

toString() → String
inherited

Возвращает строковое представление этого объекта.

where(bool test(E element)) → Iterable<E>
inherited

Возвращает новый ленивый Iterable со всеми элементами, которые удовлетворяют предикату test.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/List-class.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API