Programação de dardo - fila de coleta
Uma Fila é uma coleção que pode ser manipulada em ambas as extremidades. As filas são úteis quando você deseja criar uma coleção primeiro a entrar, primeiro a sair. Simplificando, uma fila insere dados de uma extremidade e exclui de outra extremidade. Os valores são removidos / lidos na ordem de sua inserção.
Sintaxe: Criando uma fila
Identifier = new Queue()
A função add () pode ser usada para inserir valores na fila. Esta função insere o valor especificado no final da fila. O exemplo a seguir ilustra o mesmo.
Exemplo
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);
}
}
Deve produzir o seguinte output -
Default implementation ListQueue
10
20
30
40
Adicionando vários valores a uma fila
o addAll()A função permite adicionar vários valores a uma fila, todos de uma vez. Esta função obtém uma lista iterável de valores.
Exemplo
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);
}
}
Deve produzir o seguinte output -
Default implementation ListQueue
10
12
13
14
Adicionando valor no início e no fim de uma fila
o addFirst()método adiciona o valor especificado ao início da fila. A esta função é passado um objeto que representa o valor a ser adicionado. oaddLast() função adiciona o objeto especificado ao final da fila.
Exemplo: addFirst ()
O exemplo a seguir mostra como você pode adicionar um valor no início de uma Fila usando o método 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}");
}
Deve produzir o seguinte output -
Printing Q.. {100, 200, 300}
Printing Q.. {400, 100, 200, 300}
Exemplo: addLast ()
O exemplo a seguir mostra como você pode adicionar um valor no início de uma Fila usando o método 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}");
}
Deve produzir o seguinte output -
Printing Q.. {100, 200, 300}
Printing Q.. {100, 200, 300, 400}