Programação de dardo - coleção
O Dart, ao contrário de outras linguagens de programação, não oferece suporte a matrizes. As coleções de Dart podem ser usadas para replicar estruturas de dados como um array. A biblioteca dart: core e outras classes permitem o suporte de coleção em scripts Dart.
As coleções de dardos podem ser basicamente classificadas como -
Sr. Não | Coleção e descrição de dardos |
---|---|
1 | Lista Uma lista é simplesmente um grupo ordenado de objetos. odart:core A biblioteca fornece a classe List que permite a criação e manipulação de listas.
|
2 | Conjunto Set representa uma coleção de objetos em que cada objeto pode ocorrer apenas uma vez. A biblioteca dart: core fornece a classe Set para implementar o mesmo. |
3 | Mapas O objeto Map é um par simples de chave / valor. Chaves e valores em um mapa podem ser de qualquer tipo. Um mapa é uma coleção dinâmica. Em outras palavras, o Maps pode aumentar e diminuir em tempo de execução. A classe Map na biblioteca dart: core fornece suporte para o mesmo. |
4 | Fila 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. |
Iterando coleções
A classe Iterator do dart:corea biblioteca permite uma fácil passagem da coleção. Cada coleção tem umiteratorpropriedade. Esta propriedade retorna um iterador que aponta para os objetos na coleção.
Exemplo
O exemplo a seguir ilustra a passagem de uma coleção usando um objeto iterador.
import 'dart:collection';
void main() {
Queue numQ = new Queue();
numQ.addAll([100,200,300]);
Iterator i= numQ.iterator;
while(i.moveNext()) {
print(i.current);
}
}
o moveNext()função retorna um valor booleano indicando se há uma entrada subsequente. ocurrent propriedade do objeto iterador retorna o valor do objeto para o qual o iterador aponta atualmente.
Este programa deve produzir o seguinte output -
100
200
300