26 mayo, 2007

Colecciones simples de Objetos

Vamos a conocer un poco sobre la colección más simple que nos proporciona el dot net Framework, el arraylist. Vemos los métodos más de mayor uso.

  • Add = Agrega un ítem a la colección
  • AddRange = Agrega una lista de ítems a la colección
  • Insert = Inserta un ítem en una lugar específico de la colección
  • InsertRange = inserta una lista de ítems en un lugar específico de la colección
  • Remove = Elimina un ítem de la colección
  • Remove at = Elimina un ítem de la colección basado en el índice del ítem
  • RemoveRange = Elimina una lista de ítems
  • Contains = Permite consultar si un ítem está contenido en la colección
  • Index of = Permite consultar el número del índice en el cual está contenido un ítem.
  • Clear = Elimina todos los ítem de la colección.

Antes de ver un ejemplo de cómo se usa todo esto, es importarte hacer referencia a que estas dos colecciones son colecciones de datos tipo object, por lo tanto, podríamos decir que son algo ineficientes desde el punto de vista de rendimiento, además, el compilador no nos ayuda mucho a prevenir errores de tipo de dato.

Imports System.Collections

Module Module1

Sub Main()

Dim datos As New ArrayList

For indice As Integer = 0 To 99

datos.Add(Rnd) 'Agrega un número aleatorio a la colección

Next

For indice As Integer = 99 To 0 Step -1

Console.WriteLine(datos(indice))

datos.RemoveAt(indice)

Next

Console.ReadKey()

End Sub

End Module

El recoger una colección de datos es muy tarea muy común y hay varias maneras de hacerlo, en el ejemplo anterior usamos un "For" pero el arraylist nos provee de la implementación del IEnumeration, esto nos permite recorrer la colección de una forma más fácil de entender y mantener, veamos:

Imports System.Collections

Module Module1

Sub Main()

Dim datos As New ArrayList

For indice As Integer = 0 To 99

datos.Add(Rnd) 'Agrega un número aleatorio a la colección

Next

Dim Navega_datos As IEnumerator = datos.GetEnumerator

Do While Navega_datos.MoveNext()

Console.WriteLine(Navega_datos.Current)

Loop

Navega_datos.Reset()

Console.ReadKey()

End Sub

End Module

Además de IEnumeration, contamos con la implementación de la interface ICollection, esta nos habilita el uso de lo siguiente:

  • Count = Retorna el número de elementos de la colección
  • Copyto = Copia el contenido de la colección en un arreglo

También es importante mencionar la interface Ilist que es la que le da la funcionalidad básica a la colección (add, addrange, clear, etc.)

1 comentario:

Anónimo dijo...

Muy bueno tu blog. me sirvió para entender las colecciones

gracias