Removendo itens iguais de um ArrayList (csharp)

Este algoritmo só é válido para um ArrayList com itens do tipo Int32.
Primeiramente devemos ordenar o ArrayList para simplificar a busca de itens iguais. Para isso basta utilizar o método Sort. Depois, utilizando um simples laço ‘for’ percorremos o vetor em busca das repetições. Veja o código abaixo e você entenderá.

        ArrayList vet = new ArrayList();
        vet.Add(9);
        vet.Add(5);
        vet.Add(1);
        vet.Add(7);
        vet.Add(2);
        vet.Add(10);
        vet.Add(9);
        vet.Add(7);
        vet.Add(7);
        vet.Add(6);
        vet.Add(10);
        vet.Add(8);
        vet.Add(4);
        vet.Add(1);
        vet.Add(9);

        // ordenado o vetor
        vet.Sort();

        int anterior = Convert.ToInt32(vet[0]);
        for (int i = 1; i < vet.Count; i++)
        {
            int atual = Convert.ToInt32(vet[i]);
            if (atual == anterior)
            {
                vet.RemoveAt(i);
                i--;
            }
            else
            {
                anterior = atual;
            }

        }

        // escrevendo os itens do vetor na tela
        for (int i = 0; i < vet.Count; i++)
        {
            Response.Write(vet[i].ToString() + " - ");
        }

Artigos relacionados

Total de visitas: 462.
Esta entrada foi publicada em CSharp e marcada com a tag , , . Adicione o link permanente aos seus favoritos.

Deixe uma resposta

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

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>