Trabalhar com coleções é algo bastante comum em diferentes linguagens de programação. O mais comum é a utilização de vetores. Entretanto, vetores apresentam algumas desvantagens, que em alguns casos tornam um pouco desinteressante a sua utilização. Entre as desvantagens estão a necessidade de se determinar a capacidade do vetor e a ausência de métodos de ordenação e filtragem, logo se você precisar ordenar um vetor, por exemplo, precisará escrever código que faça isso.




Para suprir essa necessidade, o .Net Framework oferece classes que representam coleções, com características específicas que tornam a sua utilização em interessante. Neste vídeo será abordada a classe List, que é uma coleção genérica, que permitirá criar listas de tipos que a gente define quando realizamos a declaração.

Por exemplo:
Podemos criar uma lista de inteiros, representada por:
List<int>

Podemos criar uma lista de strings, representada por:
List<string>

De maneira geral podemos representar uma lista por:
List<T>
Onde T é o tipo dos itens que a coleção irá conter.

Obs.: Os exemplos a seguir não seguem uma sequência, apenas apresentam a forma de utilização dos métodos.

Vamos à um exemplo prático:
//Criaremos uma lista de inteiros.
List<int> minhaLista = new Lis
t<int> ();

Principais propriedades:

  • Capacity: representa o número de elementos que a lista pode suportar sem que precise ser redimensionada. A partir desse número, novos elementos farão com que o compilador aloque mais memória para a lista.
    Exemplo:
    //Exibe a capacidade da lista
    Console.WriteLine(minhaLista.Capacit
    y);
  • Count: retorna a quantidade de itens que atualmente existe na lista.
    Exemplo:
    //Exibe a quantidade de itens da lista
    Console.WriteLine(minhaLista.Count);

Principais métodos:
A seguir serão citados alguns dos principais métodos da classe List.

  • Add(T item): adiciona o parâmetro de tipo T (definido na declaração) no final da lista.
    Exemplo:
    //Adiciona o valor 5 na lista
    minhaLista.Add(5);
  • AddRange(IEnumerable collection): adiciona todos os itens da coleção que foi passada como parâmetro à lista.
    Exemplo:
    List<int> outraLista = new List<int>();
    outraLista.Add(10);
    outraLista.Add(20);
    outraLista.Add(30);
    //Adiciona os itens de outraLista na minhaLista
    minhaLista.AddRange(outraLista);
  • Clear(): como o nome sugere, esse método limpa a lista, removendo todos os elementos.
    Exemplo:
    //Limpa a lista
    minhaLista.Clear();
  • Contains(T item): retorna um valor booleano indicando se o item pesquisado existe na lista.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(20);
    minhaLista.Add(30);
    //Verifica se a lista possui o valor 10
    if (minhaLista.Contains(10))
    Console.WriteLine(“A lista possui o valor 10”);
  • Insert(int index, T item): funciona semelhante ao Add, mas insere o item em uma posição definida por index.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(20);
    //Insere o valor 30 no índice 1, ou seja, faz 30 tornar-se o segundo elemento.
    minhaLista.Insert(1, 30); //Neste momento estão na lista 10, 30 e 20
  • InsertRange(int index, IEnumerable collection): funciona semelhante ao AddRange, mas insere a nova lista na posição definida por index.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(14);
    List<int> outraLista = new List<int>();
    outraLista.Add(11);
    outraLista.Add(12);
    outraLista.Add(13);
    //Insere os elementos de outraLista em minhaLista a partir do índice 1
    minhaLista.Insert(1, outraLista); //Neste momento estão na lista 10, 11, 12, 13 e 14
  • Remove(T item): remove o item da lista e retorna um booleano indicando o sucesso da operação. Caso o item não seja encontrado, também retorna false.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(20);
    minhaLista.Add(30);
    //Remove o valor 20 da lista
    if (minhaLista.Remove(20))
    Console.WriteLine(“Removeu com sucesso”);
    else
    Console.WriteLine(“Não encontrou o número”);
  • RemoveAt(int index): remove o item que está em uma posição específica na lista.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(20);
    minhaLista.Add(30);
    //Remove o valor que está no índice 2 da lista
    minhaLista.RemoveAt(2);
  • Sort(): ordena a lista utilizando o comparador padrão do tipo de item contido na lista. Este método também pode receber como parâmetro objetos que definem a forma como a comparação entre os itens deve ser feita.
    Exemplo:
    minhaLista.Add(10);
    minhaLista.Add(40);
    minhaLista.Add(90);
    minhaLista.Add(30);
    //Ordena o conteúdo da lista
    minhaLista.Sort();


Percorrendo Listas

Existem diferentes formas para percorrer uma lista. A seguir são mostradas duas formas: uma usando for e outra foreach.

//Percorrendo a lista com foreach
foreach (int item in minhaLista)
{
Console.WriteLine(item);
}

//Percorrendo a lista com for
for (int i=0; i<minhaLista.Count; i++)
{
Console.WriteLine(minhaLista
[i]);
}

Confira o vídeo:

Obrigado pela leitura. Até o próximo post!

Abraço!


1 comentário

oprolevorter · Julho 30, 2019 às 9:24 am

It¦s actually a cool and useful piece of information. I am happy that you shared this useful information with us. Please keep us up to date like this. Thanks for sharing.

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *