Beruflich Dokumente
Kultur Dokumente
LA CLASE ARRAYLIST
Esta clase permite la creación y manipulación de arrays cuyo tamaño puede ser modificado
dinámicamente.
Para crear un ArrayList se pueden utilizar los siguientes métodos
a) Crear una lista sin elementos.
Dim Empleados As New ArrayList()
b) Crear una lista con un tamaño inicial.
Dim Empleados As New ArrayList(3)
c) Crear una lista e inicializar sus elementos, para ello debemos utilizar la palabra New
seguida del tipo de dato del que vamos a crear la colección y los paréntesis, y por último
cerrar entre llaves los valores de la colecciones.
Dim Caracteres As New ArrayList(New String() {"a", "b", "c"})
Al crear un ArrayList no es necesario especificar su dimensión y ésta puede ser modificada
en cualquier momento. Un ArrayList tiene por defecto el tamaño necesario para almacenar
16 ítems.
MÉTODOS
• Add(oObject): Inserta el objeto oObject al final del ArrayList. Los valores que
espera recibir un ArrayList son del tipo genérico Object, por lo que podemos
insertar en el mismo array valores de diferentes tipos de dato. Devuelve el valor
del índice donde se insertó el objeto
• AddRange(colección): Agrega una colección (array o ArrayList) de objetos al final
de la colección.
• InserRange(index,colección): Agrega una colección (array o ArrayList) de objetos
a partir de la posición index del ArrayList.
• Contains(oObject): Devuelve true si existe el elemento oObject y false en caso
contrario.
• Insert(index,oObject): Inserta un elemento en la posición del ArrayList indicado
por index.
• Remove(oObject): Elimina la primera instancia que coincida con el parámetro
oObject, en el caso de haber más de una, la operación sólo se produce sobre la
primera que se localiza.
• RemoveRange(startIndex, count): Elimina un número de elementos igual a count
a partir del índice startIndex.
• GetRange(index,count): Devuelve un ArrayList con los un número de elementos
que se corresponde con el parámetro count a partir del índice indicado por
index.
• Repeat(ítem,count): Introduce en el ArrayList el elemento ítem un número de
veces que se corresponde con count.
1
• Reverse(): Invierte el orden de los elementos del ArrayList.
• IndexOf(object): Devuelve la posición donde está el objeto, comenzando la
búsqueda por el índice 0.
• LastIndexOf(object): Devuelve la posición donde está el objeto, comenzando la
búsqueda por la última posición.
2
Console.WriteLine("Capacidad del array: {0}", alLetras.Capacity)
La capacidad es un aspecto de la clase ArrayList que mejora el rendimiento a la hora de
añadir o eliminar elementos del array. Analicemos esta característica con más detenimiento:
En primer lugar, todo objeto ArrayList dispone de una propiedad llamada _items,
conteniendo el array que internamente gestiona los valores asignados. Esta es una
propiedad que no puede manipular el programador, pero que puede visualizar a través del
depurador, abriendo la ventana Locales y expandiendo el contenido de un objeto ArrayList,
como muestra la siguiente imagen.
Cuando creamos un ArrayList con un tamaño como el del ejemplo anterior, la acción de
añadir un valor al objeto no redimensiona el array, puesto que ya está creado con un
tamaño determinado, sino que asigna un valor al siguiente elemento libre que no hubiera
sido previamente asignado. Veámoslo en el siguiente esquema.
Este comportamiento del objeto tiene la ventaja de que mejora el rendimiento y optimiza
recursos, puesto que cada vez que añadimos o eliminamos valores, el array n_items o
siempre tiene que ser redimensionado.
¿Qué sucede, sin embargo, cuando se han añadido valores y el array está completo?, pues
que el objeto ArrayList detecta esta situación y en la siguiente ocasión en que se añade un
nuevo valor, automáticamente se redimensiona duplicando el número de elementos inicial
que contenía. Veamos de nuevo un esquema de funcionamiento.
….
End Sub
4
If TypeOf sender Is Windows.Forms.Button Then
MsgBox("es un boto")
End If