當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。