Dart Queue


队列是一个可以在两端操作的集合。当您想要构建先进先出集合时,队列非常有用。简而言之,队列从一端插入数据并从另一端删除。按插入顺序删除/读取值。

语法:创建队列

Identifier = new Queue()

add()函数可用于将值插入队列。此函数将指定的值插入队列末尾。以下示例说明了相同的内容。

aimport 'dart:collection';
void main() {
   Queue queue = new Queue();
   print("Default implementation ${queue.runtimeType}");
   queue.add(10);
   queue.add(20);
   queue.add(30);
   queue.add(40);

   for(var no in queue){
      print(no);
   }
}

它应该产生以下 输出

默认实现ListQueue
10
20
30
40

将多个值添加到队列

addAll() 函数使得能够加入多个值到一个队列,一次全部。此函数采用可迭代的值列表。

import 'dart:collection';
void main() {
   Queue queue = new Queue();
   print("Default implementation ${queue.runtimeType}");
   queue.addAll([10,12,13,14]);
   for(var no in queue){
      print(no);
   }
}

它应该产生以下 输出 -

默认实现ListQueue
10
12
13
14

在队列的开头和结尾添加值

addFirst() 方法将指定的值到队列的开头。此函数传递一个对象,该对象表示要添加的值。所述 addLast() 函数将指定的对象到队列的末尾。

示例:addFirst()

以下示例显示如何使用addFirst()方法在队列的开头添加值 -

import 'dart:collection';
void main() {
   Queue numQ = new Queue();
   numQ.addAll([100,200,300]);
   print("Printing Q.. ${numQ}");
   numQ.addFirst(400);
   print("Printing Q.. ${numQ}");
}

它应该产生以下 输出

Printing Q.. {100, 200, 300}
Printing Q.. {400, 100, 200, 300}

示例:addLast()

以下示例显示如何使用addLast()方法在队列的开头添加值 -

import 'dart:collection';
void main() {
   Queue numQ = new Queue();
   numQ.addAll([100,200,300]);
   print("Printing Q.. ${numQ}");  
   numQ.addLast(400);
   print("Printing Q.. ${numQ}");
}

它应该产生以下 输出

Printing Q.. {100, 200, 300}
Printing Q.. {100, 200, 300, 400}