Unidad 32. Colecciones en VB (V)





9    Comparar dos objetos, Equals.

Realiza una comparación y devuelve true si ambos objetos son iguales.

La sintaxis es

 

  Coleccion.Item(1).Equals(Otra.Item(2))

 

Un ejemplo de su utilización

 

  Console.WriteLine(Coleccion.Item(1).Equals(Otra.Item(2)))

10    Obtener un subconjunto de la colección, GetRange.

Devuelve un array que es un subconjunto de la colección origen.

Realiza la copia del contenido de la colección pero no de los enlaces de sus miembros.

La sintaxis es la que sigue.

 

  Coleccion.GetRange(Desde, Cuantos)

 

Donde desde es la primera posición desde la que se inicia la copia

Cuantos es el número de elementos que se van a copiar.

Un ejemplo:

 

  V = Coleccion.GetRange(1, 2).ToArray()

 

En el que V es un vector del mismo tipo que los objetos de la colección.

 

  V = Coleccion.GetRange(1, 2).ToArray()

  For Each Dato In V

  Console.WriteLine("Valor {0} ", Dato.Nombre)

  Next

 

11    Búsqueda, Find, FindAll, FindIndex, FindLastIndex.

Disponemos de varias posibilidades a la hora de realizar búsquedas.

 

Una de ellas es la de obtener todos los elementos de una colección que cumplan un requisito, para ello utilizamos el método FindAll.

 

  Nueva = Coleccion.FindAll(AddressOf Resultado)

 

 

Primero hemos de crear una colección que recoja el resultado

 

  Dim Nueva As New System.Collections.Generic.List(Of Datos)

 

Después solo queda utilizar el método.

Para ello se recurre a una función que analiza el valor del elemento de la colección que se le envía devolviendo true o false e incorporándolo a la nueva colección.

 

La función la hemos llamado Resultado

 

  Public Function Resultado(ByVal Item As Datos) As Boolean

  Resultado = Item.Nombre = "Silla"

  End Function

 

Y en este caso devolverá todos los elementos que sean una “Silla”

 

  Dim Nueva As New System.Collections.Generic.List(Of Datos)

  Nueva = Coleccion.FindAll(AddressOf Resultado)

 

  For Each Dato In Nueva

  Console.WriteLine("Valor {0} ", Dato.Nombre)

  Next

 

Para saber el índice de un elemento

 

Console.WriteLine(Coleccion.FindIndex(AddressOf Resultado))

 

Siguiendo la misma filosofía que en el ejemplo anterior.

En éste caso nos devolverá el índice que ocupa en la colección el elemento buscado.

 

12    Clasificación, Sort.

Realiza la clasificación del contenido de la colección.

Todos los tipos de colecciones no disponen de este método debido a las características de la colección en si.

 

Un ejemplo de su utilización.

 

  Console.WriteLine("Sort")

  Dim Coleccion As New System.Collections.Generic.List(Of String)

 

  Coleccion.Add("Silla")

  Coleccion.Add("Mesa")

  Coleccion.Add("Armario")

 

  Dim D As String

  For Each D In Coleccion

  Console.WriteLine("Valor {0} ", D)

  Next

 

  Coleccion.Sort()

 

  For Each D In Coleccion

  Console.WriteLine("Valor {0} ", D)

  Next

 

32.6. Propiedades.

Capacity Obtiene o establece el número de elementos de una colección.

Count Devuelve el número de elementos de una colección

Item Obtiene o establece el elemento en la posición indicada.

 

•Ejercicios propuestos de la Unidad
Octubre-2010
Pág. 32.5

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies