30 mayo, 2007

Colecciones secuenciales de Objetos

Las colecciones Stack y Queue son dos tipos de colecciones que permiten el manejo de colecciones de datos secuenciales, veamos:

En el queue el primer elemento en entrar es el primero en salir (FIFO), veamos sus métodos

  • Enqueue = Agrega un elemento a la cola
  • Dequeue = Obtiene y elimina el siguiente método de la cola
  • Peek = Obtiene pero no elimina el siguiente método de la cola

Veamos un ejemplo:

Imports System.Collections

Module Module1

Sub Main()

Dim Cola As New Queue

Cola.Enqueue("Proceso_1")

Cola.Enqueue("Proceso_2")

Cola.Enqueue("Proceso_3")

Cola.Enqueue("Proceso_4")

Cola.Enqueue("Proceso_5")

While Cola.Count > 0

Console.WriteLine(Cola.Dequeue())

End While

Console.ReadKey()

End Sub

End Module

En el stack el último elemento en entrar es el primero en salir (LIFO), veamos sus métodos

  • Push = Agrega un elemento a la cola
  • Pop = Obtiene y elimina el siguiente método de la cola
  • Peek = Obtiene pero no elimina el siguiente método de la cola

Veamos un ejemplo:

Imports System.Collections

Module Module1

Sub Main()

Dim Pila As New Stack

Pila.Push("Proceso_1")

Pila.Push("Proceso_2")

Pila.Push("Proceso_3")

Pila.Push("Proceso_4")

Pila.Push("Proceso_5")

While Pila.Count > 0

Console.WriteLine(Pila.Pop())

End While

Console.ReadKey()

End Sub

End Module

Como podemos deducir de los ejemplos anteriores, el uso de ambas colecciones es bastante similar, la principal diferencia radica en el orden en el cual los elementos son extraídos.

No hay comentarios.: