队列(Queue)是可以在两端进行操作的集合,当您要构建先进先出集合时,队列很有用。简而言之,队列从一端插入数据,而从另一端删除数据。

Queue - 语法

Identifier=new Queue()

add()函数可用于将值插入队列,此函数将指定的值插入队列的末尾,以下示例对此进行了说明。

Queue - 示例

import '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); 
   } 
}      

它应该产生以下输出-

Default implementation ListQueue 10 20 30 40 

Queue - 添加到队列

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); 
   } 
}

它应该产生以下输出-

Default implementation ListQueue 10 12 13 14 

Queue - 开始和结束处增加值

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} 

参考链接

https://www.learnfk.com/dart-programming/dart-programming-collection-queue.html