Manipulando listas no Dart \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 12 Horas 

 31 Min 

 36 Seg 

   Tempo restante da oferta: 12 31 36 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Manipulando listas no Dart  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

# Manipulando listas no Dart

 Veja neste artigo como manipular listas no Dart.

 [ Fagner Pinheiro ](https://www.treinaweb.com.br/blog/autor/fagner-pinheiro) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/listas-dart.png)  

Uma lista é a estrutura de dados mais básica do [Dart](https://www.treinaweb.com.br/blog/o-que-e-dart/ "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:

```dart
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:

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

```

[  ![Flutter - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/flutter.svg)   Curso Flutter - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/flutter-fundamentos)

## 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:

```dart
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:

![Imprimindo Listas](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/imprimindo_listas.png)

## 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:

```dart
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:

```dart
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.

```dart
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`:

```dart
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:

![Retornando tamanho da lista](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/retornando_tamanho_lista.png)

## 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:

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

```

![Removendo elementos da lista](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/removendo_elemento_lista.png)

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:

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

```

![Removendo posição da lista](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/removendo_posicao_lista.png)

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

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

```

![Removendo ultimo elemento](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/removendo_ultimo_elemento_lista.png)

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

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

```

![Removendo elementos em um intervalo](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/removendo_range_lista.png)

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

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

```

![Resultado impresso no terminal pela execução do código Dart que exemplifica como remover todos os elementos de uma lista](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/dart-removendo-todos-elementos-da-lista.png)

- [ #Estrutura de dados ](https://www.treinaweb.com.br/blog/tag/estrutura-de-dados)
- [ #dart ](https://www.treinaweb.com.br/blog/tag/dart)
- [ #flutter ](https://www.treinaweb.com.br/blog/tag/flutter)

Autor

 ![Fagner Pinheiro](//secure.gravatar.com/avatar/e622f7c7d686a0b11f8d977ce9725b67?d=mm)

## 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](https://www.treinaweb.com.br/blog/autor/fagner-pinheiro)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/11/ARTIGO-DART-400x280.jpg)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     4 anos atrás

    ##  [ Guia da linguagem dart ](https://www.treinaweb.com.br/blog/guia-da-linguagem-dart) 

     Nesse guia da linguagem Dart você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação Dart.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/10103951/capa-5-linguagens-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     7 anos atrás

    ##  [ 5 linguagens de programação promissoras para se estudar em 2020 ](https://www.treinaweb.com.br/blog/5-linguagens-de-programacao-promissoras-para-se-estudar-em-2020) 

     Nada melhor do que finalizar o ano de 2019 já sabendo quais as linguagens devem se destacar no próximo ano. Que tal aproveitar e traçar uma meta de estudos envolvendo as linguagens mais promissoras para 2020?

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/06153353/manipulando-listas-python-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ Manipulando listas no Python ](https://www.treinaweb.com.br/blog/manipulando-listas-no-python) 

     Veremos neste artigo como manipular listas no Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/01/06115101/MANIPULAÇÃO-TUPLAS-PYTHON-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Manipulando tuplas no Python ](https://www.treinaweb.com.br/blog/manipulando-tuplas-no-python) 

     Veja neste artigo como manipular tuplas utilizando o Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/02/18160141/MANIPULANDO-ARQUIVOS-PYTHON-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ Manipulando arquivos com Python ](https://www.treinaweb.com.br/blog/manipulando-arquivos-com-python) 

     Saber trabalhar com arquivos é essencial para qualquer desenvolvedor e é certo que em sua vida como desenvolvedor, em algum momento você terá que lidar com esta situação. Por isso, veremos neste artigo como manipular arquivos com Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/02/03164327/MANIPULANDO-DICIONÁRIOS-PYTHON-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Manipulando dicionários no Python ](https://www.treinaweb.com.br/blog/manipulando-dicionarios-no-python) 

     Veja neste artigo alguns dos principais métodos de manipulação de dicionários no Python.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/09/funcionalidades-do-jquery-com-a-api-nativa-do-javascript-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     9 anos atrás

    ##  [ Funcionalidades do jQuery com a API nativa do JavaScript ](https://www.treinaweb.com.br/blog/funcionalidades-do-jquery-com-a-api-nativa-do-javascript) 

     Nesse post veremos algumas das funcionalidades do jQuery que hoje podem ser aplicadas diretamente com a API nativa do JavaScript.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/12/05091425/estrutura-dados-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     7 anos atrás

    ##  [ Principais Estruturas de Dados no Python ](https://www.treinaweb.com.br/blog/principais-estruturas-de-dados-no-python) 

     No Python, as principais estruturas são as Listas, Sets, Dicionários e Tuplas e neste artigo veremos as diferenças e principais características de cada uma.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/05/listas-tabelas-HTML-400x280.jpg)  [ CSS ](https://www.treinaweb.com.br/blog/categoria/css) 

     3 anos atrás

    ##  [ Apresentando dados com listas e tabelas ](https://www.treinaweb.com.br/blog/apresentando-dados-com-listas-e-tabelas) 

     Neste artigo, veremos como apresentarmos dados com listas e tabelas HTML e qual a sua importância no mundo dos desenvolvedores front-end.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/09160454/SGBDs-400x280.png)  [ Bancos de Dados ](https://www.treinaweb.com.br/blog/categoria/bancos-de-dados) 

     5 anos atrás

    ##  [ O que é um SGBD? ](https://www.treinaweb.com.br/blog/o-que-e-um-sgbd) 

     Veja neste artigo o que é um Sistema de Gerenciamento de Banco de Dados (SGBD).

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/05155042/iterators-php-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Iterators no PHP ](https://www.treinaweb.com.br/blog/iterators-no-php) 

     Iterator é um mecanismo que permite que um objeto seja iterado e ele próprio fica no controle granular dessa iteração.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/ARRAYS-OBJETOS-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Trabalhando com arrays e objetos no JavaScript ](https://www.treinaweb.com.br/blog/trabalhando-com-arrays-e-objetos-no-javascript) 

     Confira neste artigo como trabalhar com Arrays e Objetos no JavaScript. Vamos aprender a declarar e manipular Arrays e Objetos com exemplos.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **12h 31min 36s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
