Spec-Zone.ru › Dart 2

dart:collection

Класс ListQueue<E>

Queue на основе списка.

Хранит элементы в циклическом буфере и увеличивает размер буфера, когда он заполняется. Это гарантирует постоянное время выполнения операций просмотра и удаления, а также амортизированное постоянное время выполнения операций добавления.

Эта структура эффективна при использовании в качестве очереди или стека.

Пример:

final queue = ListQueue<int>();

Чтобы добавлять объекты в очередь, используйте add, addAll, addFirst или addLast.

queue.add(5);
queue.addFirst(0);
queue.addLast(10);
queue.addAll([1, 2, 3]);
print(queue); // {0, 5, 10, 1, 2, 3}

Чтобы проверить, пуста ли очередь, используйте isEmpty или isNotEmpty. Чтобы узнать количество элементов в очереди, используйте length.

final isEmpty = queue.isEmpty; // false
final queueSize = queue.length; // 6

Чтобы получить первый или последний элемент очереди, используйте first или last.

final first = queue.first; // 0
final last = queue.last; // 3

Чтобы получить значение элемента по индексу, используйте elementAt.

final itemAt = queue.elementAt(2); // 10

Чтобы преобразовать очередь в список, вызовите toList.

final numbers = queue.toList();
print(numbers); // [0, 5, 10, 1, 2, 3]

Чтобы удалить элемент из очереди, вызовите remove, removeFirst или removeLast.

queue.remove(10);
queue.removeFirst();
queue.removeLast();
print(queue); // {5, 1, 2}

Чтобы одновременно удалить несколько элементов, используйте removeWhere.

queue.removeWhere((element) => element == 1);
print(queue); // {5, 2}

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

queue.retainWhere((element) => element < 4);
print(queue); // {2}

Чтобы удалить все элементы и очистить очередь, используйте clear.

queue.clear();
print(queue.isEmpty); // true
print(queue); // {}
Наследование
  • Object
  • Iterable<E>
  • ListQueue
Реализуемые типы
  • Queue<E>
Доступные расширения
  • EnumByName

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

ListQueue([int? initialCapacity])
Создает пустую очередь.
ListQueue.from(Iterable elements)
фабричный
Создает ListQueue, содержащую все elements.
ListQueue.of(Iterable<E> elements)
фабричный
Создает ListQueue из elements.

Свойства

first → E
только для чтения
Возвращает первый элемент.
hashCode → int
только для чтения, наследуется
Хеш-код этого объекта.
isEmpty → bool
только для чтения
Содержит ли эта коллекция элементы.
isNotEmpty → bool
только для чтения, наследуется
Содержит ли эта коллекция хотя бы один элемент.
iterator → Iterator<E>
только для чтения
Возвращает новый Iterator, позволяющий перебирать элементы этого Iterable.
last → E
только для чтения
Возвращает последний элемент.
length → int
только для чтения
Возвращает количество элементов в итерируемой коллекции.
runtimeType → Type
только для чтения, наследуется
Представление типа объекта во время выполнения.
single → E
только для чтения
Проверяет, что эта итерируемая коллекция содержит только один элемент, и возвращает его.

Методы

add(E value) → void
переопределение
Добавляет value в конец очереди.
addAll(Iterable<E> elements) → void
переопределение
Добавляет все элементы из iterable в конец очереди. Длина очереди увеличивается на длину iterable.
addFirst(E value) → void
переопределение
Добавляет value в начало очереди.
addLast(E value) → void
переопределение
Добавляет value в конец очереди.
any(bool test(E element)) → bool
наследуется
Проверяет, удовлетворяет ли какой-либо элемент этой итерируемой коллекции условию test.
cast<R>() → Queue<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> toElements(E element)) → Iterable<T>
наследуется
Преобразует каждый элемент этого Iterable в ноль или более элементов.
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 f(E element)) → void
Вызывает action для каждого элемента этой итерируемой коллекции в порядке перебора.
join([String separator = ""]) → String
наследуется
Преобразует каждый элемент в String и объединяет полученные строки.
lastWhere(bool test(E element), {E orElse()?}) → E
наследуется
Возвращает последний элемент, удовлетворяющий заданному предикату test.
map<T>(T toElement(E element)) → Iterable<T>
наследуется
Текущие элементы этой итерируемой коллекции, преобразованные с помощью toElement.
noSuchMethod(Invocation invocation) → dynamic
наследуется
Вызывается при обращении к несуществующему методу или свойству.
reduce(E combine(E value, E element)) → E
наследуется
Сводит коллекцию к одному значению, последовательно объединяя ее элементы с помощью переданной функции.
remove(Object? value) → bool
переопределение
Удаляет один экземпляр value из очереди.
removeFirst() → E
переопределение
Удаляет и возвращает первый элемент этой очереди.
removeLast() → E
переопределение
Удаляет и возвращает последний элемент очереди.
removeWhere(bool test(E element)) → void
переопределение
Удаляет все элементы, соответствующие test.
retainWhere(bool test(E element)) → void
переопределение
Удаляет все элементы, не соответствующие test.
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.
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
переопределение
Возвращает строковое представление некоторых элементов this.
where(bool test(E element)) → Iterable<E>
наследуется
Возвращает новую ленивую Iterable со всеми элементами, удовлетворяющими предикату test.
whereType<T>() → Iterable<T>
наследуется
Возвращает новую ленивую Iterable со всеми элементами типа T.

Операторы

operator ==(Object other) → bool
наследуется
Оператор равенства.

© 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/ListQueue-class.html

Spec-Zone.ru

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