当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart ListQueue用法及代码示例


dart:collection 库中ListQueue 类的用法介绍如下。

基于列表的 Queue

保持元素的循环缓冲区,并在填满时增长到更大的缓冲区。这保证了恒定时间的查看和删除操作,以及摊销的恒定时间添加操作。

该结构对于任何队列或堆栈使用都是有效的。

例子:

final queue = ListQueue<int>();

要将对象添加到队列中,请使用 addaddAlladdFirstaddLast

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

要检查队列是否为空,请使用 isEmptyisNotEmpty 。要查找队列条目的数量,请使用 length

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

要从队列中获取第一个或最后一个项目,请使用 firstlast

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]

要从队列中删除项目,请调用 removeremoveFirstremoveLast

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

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 ListQueue<E> class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。