Array Dinamico
Array Dinamico
com
Por otra parte, en la declaracin indicamos el tipo de objetos que pretendemos almacenar
(en el ejemplo, objetos de tipo String). Es posible no indicar el tipo de objeto, pero en ese caso
el compilador genera un mensaje de aviso (aunque realiza la compilacion). Si queremos
mantener la libertad de almacenar todo tipo de objetos, pero evitar el aviso que genera el
compilador, siempre podemos definir el vector como Vector<Object>
Tambin podemos ver que nmero de elementos que contiene el vector se obtiene con el
mtodo size()
Por ltimo, vemos que para acceder a un elemento del vector se utiliza el mtodo
elementAt(ndice), en donde el ndice del elemento n es n-1, porque comienzan a contarse a
partir de cero.
Adems, disponemos de los siguientes mtodos relacionados con la capacidad del vector:
int capacity() Devuelve la capacidad actual del vector (siempre sera mayor o igual a su tamao
actual)
ensureCapacity(int capacidad) Incrementa la capacidad del vector si es menor que la que se
indica (pero no la reduce si es mayor)
trimToSize() reduce la capacidad del vector para que coincida con el tamao del vector
Antes de que puede utilizar un array dinmico debe reserver la memoria para el mismo
asignndole una dimensin:
//reserva espacio para 10 elementos
SetLength (arrayDinamico, 10);
Una vez que se ha reservado la memoria, puede acceder a los elementos del array
como uno normal:
arrayDinamico[0] := 'Esto es una prueba';
textoObtenido := arrayDinamico[0];
Los arrays dinmicos son gestionados durante su vida, por lo que no es necesario que
los libere cuando acabe de utilizarlos, ya que se liberarn cuando dejen el mbito en el
que fueron creados. Sin embargo, si en alguna ocasin necesita liberarlos (por ejemplo
cuando utilizan gran cantidad de memoria) lo nico que tiene que hacer es asignar el
array dinmico a "nil":
arrayDinamico := nill; //libera arrayDinamico de memoria
MTODOS DE ARRAYLIST
Algunos mtodos que proporciona ArrayList son:
MTODO
DESCRIPCIN
size()
add(X)
add(posicin, X)
get(posicion)
remove(posicion)
remove(X)
clear()
set(posicin, X)
contains(X)
indexOf(X)
COPIAR UN ARRAYLIST
El nombre de un ArrayList contiene la referencia al ArrayList, es decir, la direccin de
memoria donde se encuentra el ArrayList, igual que sucede con los arrays estticos.
Si disponemos de un ArrayList de enteros llamado ventas:
La instruccin:
ArrayList<Integer> ventas1 = ventas;
No copia el array ventas en el nuevo array ventas1 sino que crea un alias: