Tutorial ArrayList C# com exemplos
โก Resumo Inteligente
Em C#, ArrayList รฉ uma coleรงรฃo dinรขmica do namespace System.Collections que armazena elementos como objetos. Diferentemente de um array, ela cresce e diminui em tempo de execuรงรฃo e pode conter inteiros, strings e valores booleanos em uma รบnica lista.

O que รฉ ArrayList em C#?
A coleรงรฃo ArrayList รฉ semelhante ao Arrays tipo de dados em C#. A maior diferenรงa รฉ a natureza dinรขmica da coleรงรฃo da lista de arrays.
Para arrays, vocรช precisa definir o nรบmero de elementos que o array pode conter no momento da declaraรงรฃo do array. Mas no caso da coleรงรฃo Array List, isso nรฃo precisa ser feito previamente. Os elementos podem ser adicionados ou removidos da coleรงรฃo Array List a qualquer momento. Vejamos as operaรงรตes disponรญveis para a coleรงรฃo de listas de arrays com mais detalhes.
Declaraรงรฃo de uma lista de array
A declaraรงรฃo de um ArrayList รฉ fornecida abaixo. Uma lista de array รฉ criada com a ajuda do tipo de dados ArrayList. A palavra-chave โnewโ รฉ usada para criar um objeto de um ArrayList. O objeto รฉ entรฃo atribuรญdo ร variรกvel a1. Entรฃo agora a variรกvel a1 serรก usada para acessar os diferentes elementos da lista do array.
ArrayList a1 = new ArrayList()
Adicionando elementos a um array
O mรฉtodo add รฉ usado para adicionar um elemento ao ArrayList. O mรฉtodo add pode ser usado para adicionar qualquer tipo de elemento de tipo de dados ร lista de array. Portanto, vocรช pode adicionar um nรบmero inteiro, uma string ou atรฉ mesmo um valor booleano ร lista do array. A sintaxe geral do mรฉtodo de adiรงรฃo รฉ fornecida abaixo
ArrayList.add(element)
Abaixo estรฃo alguns exemplos de como o mรฉtodo โadicionarโ pode ser usado. O mรฉtodo add pode ser usado para adicionar vรกrios tipos de dados ร coleรงรฃo Array List.
Abaixo vocรช pode ver exemplos de como podemos adicionar Strings de nรบmeros inteiros e atรฉ valores booleanos ร coleรงรฃo Array List.
- a1.add(1) โ Isso adicionarรก um valor inteiro ร coleรงรฃo
- a1.add(โExemploโ) โ Isso adicionarรก um valor String ร coleรงรฃo
- a1.add(true) โ Isso adicionarรก um valor booleano ร coleรงรฃo
Agora vamos ver isso funcionando no nรญvel do cรณdigo. Todo o cรณdigo mencionado abaixo serรก gravado em nosso aplicativo de console. O cรณdigo serรก gravado em nosso arquivo Program.cs.
No programa abaixo, escreveremos o cรณdigo para criar uma nova lista de arrays. Tambรฉm mostraremos como adicionar elementos e exibir os elementos da lista Array.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code Explicaรงรฃo:-
- A primeira etapa รฉ usada para declarar nossa lista de arrays. Aqui estamos declarando a1 como uma variรกvel para armazenar os elementos de nossa lista de array.
- Em seguida, usamos a palavra-chave add para adicionar o nรบmero 1, a String โExemploโ e o valor booleano 'true' ร lista do array.
- Em seguida, usamos o mรฉtodo Console.WriteLine para exibir o valor de cada elemento da lista de array no console. Vocรช notarรก que, assim como os arrays, podemos acessar os elementos por meio de suas posiรงรตes de รญndice. Portanto, para acessar a primeira posiรงรฃo do Array List, usamos a posiรงรฃo do รญndice [0]. E assim por diante.
Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.
Saรญda:
Na saรญda, vocรช pode ver que todos os elementos da lista do array sรฃo enviados para o console.
Vejamos mais alguns mรฉtodos que estรฃo disponรญveis como parte do ArrayList.
Contar
Este mรฉtodo รฉ usado para obter o nรบmero de itens na coleรงรฃo ArrayList. Abaixo estรก a sintaxe geral desta instruรงรฃo.
ArrayList.Count() โ Este mรฉtodo retornarรก o nรบmero de elementos que a lista do array contรฉm.
contรฉm
Este mรฉtodo รฉ usado para verificar se um elemento estรก presente na coleรงรฃo ArrayList. Abaixo estรก a sintaxe geral desta declaraรงรฃo
ArrayList.Contains(element) โ Este mรฉtodo retornarรก verdadeiro se o elemento estiver presente na lista, caso contrรกrio retornarรก falso.
RemoverEm
Este mรฉtodo รฉ usado para remover um elemento em uma posiรงรฃo especรญfica na coleรงรฃo ArrayList. Abaixo estรก a sintaxe geral desta declaraรงรฃo
ArrayList.RemoveAt(index) โ Este mรฉtodo removerรก um elemento de uma posiรงรฃo especรญfica da Lista Array.
Agora vamos ver isso funcionando no nรญvel do cรณdigo. Todo o cรณdigo mencionado abaixo serรก gravado em nosso aplicativo de console. O cรณdigo serรก gravado em nosso arquivo Program.cs.
No programa abaixo, escreveremos o cรณdigo para ver como podemos usar os mรฉtodos mencionados acima.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code Explicaรงรฃo:-
- Portanto, a primeira propriedade que vemos รฉ a propriedade Count. Estamos obtendo a propriedade Count da lista de array a1 e depois gravando-a no Console.
- Na segunda parte, estamos usando o mรฉtodo Contains para ver se ArrayList a1 contรฉm o elemento 2. Em seguida, escrevemos o resultado no Console por meio do comando Writeline.
- Finalmente, para mostrar o mรฉtodo Remover elemento, estamos executando as etapas abaixo,
- Primeiro, escrevemos o valor do elemento na posiรงรฃo 1 do รญndice da lista de arrays no console.
- Em seguida, removemos o elemento na posiรงรฃo 1 do รญndice da lista do array.
- Finalmente, escrevemos novamente o valor do elemento na posiรงรฃo 1 do รญndice da lista de arrays no console. Este conjunto de etapas darรก uma boa ideia se o mรฉtodo de remoรงรฃo funcionarรก como deveria.
Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.
Saรญda:
Por que o รบltimo valor รฉ verdadeiro?
Se vocรช vir a sequรชncia de eventos, o elemento Exemplo รฉ removido da matriz porque estรก na posiรงรฃo 1. A posiรงรฃo 1 da matriz รฉ substituรญda pelo que estava na posiรงรฃo 2 anteriormente, cujo valor รฉ 'true'
Como percorrer um ArrayList em C#
Ler todos os elementos de um ArrayList รฉ uma tarefa comum. Como um ArrayList armazena seus itens como objetos, vocรช pode visitรก-los com um loop foreach ou com um loop for que utiliza a propriedade Count. O loop foreach รฉ a maneira mais simples, pois percorre cada item em ordem, sem a necessidade de um รญndice.
O exemplo abaixo cria um ArrayList de strings e imprime cada valor em sua prรณpria linha. O cรณdigo estรก escrito no arquivo Program.cs de um aplicativo de console.
Passo 1) Importe o namespace System.Collections e crie um ArrayList com trรชs itens.
Passo 2) Utilize um loop foreach para ler cada elemento como um objeto e escrevรช-lo no console.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Explicaรงรฃo:-
- O namespace System.Collections foi importado para que o tipo ArrayList esteja disponรญvel para o programa.
- Trรชs valores de string sรฃo adicionados ao ArrayList com o mรฉtodo Add.
- O loop foreach lรช cada item como um objeto, e o mรฉtodo Console.WriteLine o imprime em uma nova linha.
Quando o programa รฉ executado, ele imprime Java, Python e Kotlin em linhas separadas. Um loop for com a propriedade Count daria o mesmo resultado, permitindo tambรฉm usar a posiรงรฃo do รญndice de cada elemento.
Mรฉtodos e propriedades do ArrayList em C#
A classe ArrayList fornece muitos mรฉtodos e propriedades integrados para gerenciar seus elementos. Alรฉm de adicionar e remover itens, ela pode classificar, pesquisar e inverter a coleรงรฃo. Os membros mais comuns estรฃo listados abaixo.
| Vogal | Descriรงรฃo |
| Adicione | Adiciona um รบnico elemento ao final do ArrayList. |
| inserรงรฃo | Adiciona um elemento em uma posiรงรฃo de รญndice especรญfica. |
| Eliminar | Remove a primeira ocorrรชncia de um elemento especรญfico. |
| RemoverEm | Remove o elemento na posiรงรฃo de รญndice especificada. |
| Limpar | Remove todos os elementos do ArrayList. |
| tipo | Ordena os elementos em ordem crescente. |
| Reverse | Reverseรฉ a ordem dos elementos na lista. |
| contรฉm | Retorna verdadeiro se o elemento em questรฃo existir na lista. |
| รndice de | Retorna a posiรงรฃo do รญndice de um determinado elemento. |
| Contar | Propriedade que retorna o nรบmero de elementos armazenados. |
| Capacidade | Propriedade que retorna o nรบmero de elementos que a lista pode conter. |
Esses elementos permitem adicionar, encontrar, ordenar e remover itens sem precisar escrever a lรณgica manualmente, o que รฉ uma das principais vantagens de usar uma coleรงรฃo em vez de um array simples.
Diferenรงa entre ArrayList e List em C#
Tanto um ArrayList quanto um genรฉrico Lista Armazenam um grupo de itens que pode crescer em tempo de execuรงรฃo, mas diferem na forma como lidam com os tipos. Conhecer a diferenรงa ajuda vocรช a escolher a opรงรฃo certa para o cรณdigo C# moderno.
As principais diferenรงas estรฃo listadas abaixo:
- Seguranรงa do tipo: Um ArrayList armazena cada item como um objeto, enquanto uma List รฉ vinculada a um tipo declarado e verificada em tempo de compilaรงรฃo.
- Desempenho: Um ArrayList converte e desconverte tipos de valor como int, o que consome tempo de processamento, enquanto uma List evita essa conversรฃo para maior velocidade.
- Domรญnio: ArrayList reside em System.Collections, enquanto List reside em System.Collections.Generic.
- Conjurar: A leitura de um ArrayList geralmente requer uma conversรฃo de volta para o tipo original, mas uma List retorna o tipo correto diretamente.
- Recomendaรงรฃo: Microsoft Recomenda-se o uso de listas para novos desenvolvimentos por ser mais seguro, rรกpido e fรกcil de ler.
Resumindo, um ArrayList รฉ รบtil para entender cรณdigos antigos ou armazenamento de tipos mistos, enquanto uma List รฉ a escolha preferida para a maioria das aplicaรงรตes atuais.




