Software y Aplicaciones Web

Blog de desarrollo de software y aplicaciones web

Comentarios Recientes

Comment RSS

MSDN Home Page (Argentina)


C# Corner


AspAlliance.com

Declaración

Las opiniones en este blog se proporcionan "TAL CUAL", sin garantías,  no confieren derechos y no reflejan, necesariamente, la opinión de quienes me contratan.
Algunas cuestiones que se comentan en el blog no son reales, cualquier similitud con alguna persona viva o muerta no es más que una coincidencia, tampoco significa que necesite terapia, soy asi.

© Copyright 2007-2010

Propaganda

Este sitio implementa publicidad basada en intereses
Aug
23.
2009

  Objetos del tipo ArrayList

Uno de los problemas de los Arreglos ya sea los tradicionales o las Listas en Secuencia que implementan los lenguajes orientados a objetos (ver esta publicación), es que en la mayoría de los casos los programadores no utilizamos todo el tamaño del arreglo y consecuentemente nos hace falta un entero que indique cuántos elementos del arreglo son válidos.

Recordemos las funciones que teníamos que escribir en Pascal: Function SumaVector(V : TVector, N : Integer) : Real; donde lo que queríamos hacer era sumar los elementos de un vector (V del tipo TVector) donde solamente los N primeros elementos eran válidos.

 

Por suerte alguien se avivó y realizó una implementación interesante cuya declaración de clase se conoce como ArrayList (así es en C#, para otros lenguajes tendrán que ver la documentación).

El siguiente ejemplo muestra alguna de las posibilidades que esta clase brinda:

   1:  using System;
   2:  using System.Collections;
   3:   
   4:  namespace ArrayList1
   5:  {
   6:    class Program
   7:    {
   8:      static void Main(string[] args)
   9:      {
  10:        ArrayList al1 = new ArrayList();
  11:        al1.Add(18);
  12:        Mostrar(al1);
  13:        al1.Add(1);
  14:        Mostrar(al1);
  15:        al1.Add(45);
  16:        Mostrar(al1);
  17:        al1.Add(18);
  18:        Mostrar(al1);
  19:   
  20:        Console.WriteLine("Insertamos 516 en la posición 3\n(recordar que todo comienza en cero)");
  21:        al1.Insert(2, 516);
  22:        Mostrar(al1);
  23:   
  24:        Console.WriteLine("Sacamos un elemento cuyo valor es 45");
  25:        al1.Remove(45);
  26:        Mostrar(al1);
  27:      }
  28:   
  29:      /// <summary>
  30:      /// Muestra el contenido de un objeto ArrayList
  31:      /// </summary>
  32:      /// <param name="al1">Referencia al objeto ArrayList</param>
  33:      private static void Mostrar(ArrayList al1)
  34:      {
  35:        Console.WriteLine("ArrayList : ");
  36:        foreach (object o in al1)
  37:        {
  38:          Console.WriteLine("{0,4}", o.ToString());
  39:        }
  40:        Console.WriteLine();
  41:      }
  42:   
  43:    }
  44:  }

La salida es la siguiente:

Entre las posibilidades de comportamiento implementado que tenemos con objetos del tipo ArrayList se encuentran: agregar (Add), sacar (Remove(...), RemoveAt(..)) que permite sacar un elemento por su valor o por su posición, Buscar (Contains(...)) y otros; también hay un par de propiedades interesantes Count que devuelve la cantidad de elementos útiles del ArrayList y Capacity que devuelve la capacidad (dimensión) actual del ArrayList (obviamente en su estructura interna se tiene un Array).

Después de ver esto, parece que la implementación de "Bolsa" ya estaba hecha Yell, y creí que estaba haciendo un descubrimiento fenomenal; de todos modos espero que toda la serie de publicaciones en relación al objeto de tipo Bolsa sirva para meterse en la programación orientada a objetos, pero siempre se debe averiguar si en la librería de clases bases hay algo que nos pueda servir, probablemente derivando (heredando) ese algo se logre el comportamiento que necesitamos implementar.

Para imprimir: Objetos del tipo ArrayList.pdf (70,33 kb)








Comments (2) -

уеб дизайн

Thursday, October 01, 2009 2:11 AM

уеб дизайн

Hi man,
Your blog is awesome but my spanish is not very good (still learning)Are you planing to add English translation of the blog?

jtentor

Thursday, October 01, 2009 3:47 AM

jtentor

Ok, I can read english and speak a little, but write is to hard for me. I will see for some translation utility to help me.
Also yo can ask for some text you do not understand

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading