Dart集合Queue

2019-10-16 22:06:59

佇列是一個可以在兩端操縱的集合。當想要構建先進先出集合時,佇列非常有用。簡而言之,佇列從一端插入資料並從另一端刪除。按插入順序刪除/讀取值。

語法:建立佇列

Identifier = new Queue()

add()函式可用於將值插入佇列。此函式將指定的值插入佇列末尾。請參考以下範例 -

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

將多個值新增到佇列

addAll()函式允許一次向佇列新增多個值,此函式採用可疊代的值列表。

範例

Default implementation 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}