Category Archives: A Magia das Classes

A Magia das Classes – ArrayList

Overview

Definição

A ArrayList é uma classe utilizada para implementar array dinâmico de objetos heterogêneos. Ou seja, o seu tamanho é controlado automaticamente de forma dinâmica.

Em um array guardamos objetos apenas do mesmo tipo, no caso do ArrayList diferentes tipos de objetos, são guardados como tipos Object. Isso significa que podemos ter um AL armazenando integer, string, float, etc., todos mantidos como Object.

A Localização

 

Chega de Teoria!

A declaração básica de um ArrayList:

 
ArrayList myAL = new ArrayList();

Exemplo básico

using System;
using System.Collections;

namespace Demo_ArrayList
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList alCidade = new ArrayList();
            alCidade.Add("CSharp");
            alCidade.Add("22/03/1977");
            alCidade.Add(2016);
            alCidade.Add("RIO");
            alCidade.Add(null);
            alCidade.Add(true);
            alCidade.Add("Xamarin");
            alCidade.Add(49.00);
            alCidade.Add(24.00f);    

            Console.WriteLine("AL Cidades");
            Console.WriteLine("capacidade = " + alCidade.Capacity);
            Console.WriteLine("tamanho    = " + alCidade.Count);
            Console.WriteLine("removendo o elemento xxxxx");

            alCidade.Remove("RIO");

            Console.WriteLine("inserir novo elemento : Cidades");

            alCidade.Add("Cidades");

            Console.WriteLine("Percorrer AL");

            for (int indice = 0; indice < alCidade.Count; indice++)
            {
                Console.WriteLine("indice {0} - {1} ",  indice, alCidade[indice]);
            }

            Console.WriteLine("Limpar AL ");
            
            alCidade.Clear();

            if (alCidade.Count == 0)
            {
                Console.WriteLine(" O AL está vazio ....");
            }
            Console.ReadKey();
        }
    }
}

Aqui estou criando um AL cidades, incluo elementos e utilizo algumas propriedades e métodos. No final percorro e mostro os elementos atuais do AL usando um for.

netfw_collections_arraylist

Note que estou utilizando o AL com tipos como: int, string, null, bool, string, double, float.

Linha de Raciocínio

O que é preciso saber:

Herda da classe ArrayList que implementa a IList usando um array cujo tamanho é aumentando dinamicamente quando requerido.

Trabalha com índices para se referir a um objeto específico armazenado na coleção, assim como ocorre com o Array. O índice também é iniciado por 0 (o primeiro elemento possui o índice 0).

Membros

  • A propriedade Count fornece o número total de elementos atualmente armazenados no AL.
  • A propriedade Capacity obtém ou define o número de elementos que um AL pode conter.
  • O método Contains determina se um elemento existe em um AL;
  • O método Clear remove todos os elementos de um AL;
  • O método Insert insere um elemento em um índice especificado em um AL;
  • Os objetos são adicionados ao final do AL com o método Add() e removidos com o Remove().
  • O método RemoveAt() remove um elemento do AL em um índice especificado.