Dart

Manipulando listas no Dart

Veja neste artigo como manipular listas no Dart.

mais de 2 anos atrás

Uma lista é a estrutura de dados mais básica do Dart. Sua estrutura permite armazenar dados em sequência, onde cada elemento possui sua posição de origem, sendo o primeiro elemento armazenado no índice zero e, a cada elemento novo, o índice é incrementado. Com o Dart, há diversos métodos para manipulação de listas, como veremos neste artigo.

Declarando Listas no Dart

As listas no Dart podem ser declaradas de duas formas. A primeira inicializar a lista com alguns valores iniciais, como podemos ver abaixo:

void main() { 
   var lista = [0,0,0]; 
   lista[0] = 1; 
   lista[1] = 2; 
   lista[2] = 3; 
   print(lista); 
}

O código acima irá criar uma lista com 3 posições iniciais disponíveis para armazenar novos elementos.

Já a segunda forma é quando inicializamos a lista como uma lista vazia sendo assim devemos armazenar, primeiro, algum elemento:

void main() { 
   var lista = []; 
   lista.add(1); 
   lista.add(2); 
   print(lista); 
}

Flutter - Fundamentos
Curso Flutter - Fundamentos
Conhecer o curso

Imprimindo listas

A impressão de listas no Dart é bem simples, basta utilizarmos o método print() e adicionarmos o nome da lista como parâmetro:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2); 
   var lista2 = [0,0,0]; 
   lista2[0] = 1; 
   lista2[1] = 2; 
   lista2[2] = 3; 
   print(lista); 
   print(lista2); 
}

O código acima irá retornar o seguinte resultado:

Inserindo elementos na lista

A inserção de elementos em uma lista pode ser feito de duas formas, utilizando o método add() ou atribuindo um valor a uma determinada posição, como podemos ver abaixo:

void main() {
   var lista = []; 
   lista.add(1); 
   var lista2 = [0,0,0]; 
   lista2[0] = 1; 
   print(lista); 
   print(lista2); 
}

Salientar que só é possivivel atribuir um novo valor a lista caso tenha algum valor na posição atual da lista. exemplo:

void main() {
   var lista = []; 
   lista[0] = 1;
}

Uncaught Error: RangeError (index): Index out of range: no indices are valid: 0

Isso irá compilar um erro, como foi visto a cima; pois a posição zero não existe.

o correto seria primeiro adicionar uma novo item ante de tentar atribuir um novo valor.

void main() {
   var lista = []; 
   lista.add(0);
   lista[0] = 1;
}

Retornando tamanho da lista

Para retornar o tamanho de uma lista no Dart, podemos utilizar a propriedade length:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   print("O tamanho da lista é: ${lista.length}");
}

O código acima irá imprimir o tamanho total da lista:

Removendo elementos da lista

Existem diversas formas de remover elementos de uma lista no Dart, a primeira é utilizando o método remove() , passando o valor a ser removido como parâmetro:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   lista.remove(2);
   print(lista);
}

A segunda forma de remover elementos de uma lista no Dart é utilizando o método removeAt() e passando a posição do elemento a ser removido:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   lista.removeAt(2);
   print(lista);
}

A terceira forma é utilizando o método removeLast() , que removerá o último elemento da lista:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   lista.removeLast();
   print(lista);
}

A quarta forma é utilizando o método removeRange() , que vai remover os elementos de um intervalo específico:

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   lista.removeRange(0, 2);
   print(lista);
}

A última forma é utilizando o método clear() , que vai remover todos os elementos da lista

void main() {
   var lista = []; 
   lista.add(1); 
   lista.add(2);
   lista.add(3);
   lista.add(4);
   lista.clear();
   print(lista);
}

Autor(a) do artigo

Fagner Pinheiro
Fagner Pinheiro

Professor na TreinaWeb e graduado em Sistemas de Informação pelo Instituto Federal da Bahia. Apaixonado por desenvolvimento web, desktop e mobile desde os 12 anos de idade. Já utilizou todos os sistemas operacionais possíveis, mas hoje se contenta com o OSX instalado em seu desktop. Quando não está trabalhando, é IGL e Awper do time de CS:GO da Treinaweb. Até passou em uma peneira do Cruzeiro, mas preferiu estudar Python.

Todos os artigos

Artigos relacionados Ver todos