NOTAS DE APOYO

Manejo de memoria

El semestre anterior (feb-junio 2011) se realizó el programa con las operaciones básicas en un array con datos simples desordenados.  Se solicita realizar el mismo programa de operaciones básicas con datos desordenados usando la clase Vector.  Deberá de investigar la clase ArrayList, y realice una comparación con la clase vector usando un mapa cognitivo.

1

Estructuras de Datos

Arreglos usando la clase Vector

marcas

2

aunque no permite utilizar los corchetes []. Además permite acceder a los elementos con un índice. según el numero de elementos. todas las cuales tienen el mismo nombre y el mismo tipo. 3 . Un arreglo en Java es un grupo de posiciones de memoria contiguas.Vector representa un array de objetos (referencias a objetos de tipo Object) que puede crecer y reducirse.

4 . y objetos de una determinada clase cuyo número conocemos de antemano. Una solución es la de crear un array cuya dimensión sea más grande que el número de elementos que necesitamos guardar.Los arrays en Java son suficientes para guardar tipos básicos de datos. Algunas veces deseamos guardar objetos en un array pero no sabemos cuantos objetos vamos a guardar.

 Reemplazar elementos marcas 5 . proporciona métodos adicionales:  Añadir. Además.  Eliminar elementos. la diferencia estriba en que un vector crece automáticamente cuando alcanza la dimensión inicial máxima. Un vector es similar a un array.La clase Vector nos proporciona una solución alternativa a este problema.

Crea un vector vacío Vector vector=new Vector().util. 6 .*.Crear un vector Para usar la clase Vector debemos poner al principio del archivo del código fuente la siguiente sentencia import java. Vector vector=new Vector(19).

podemos especificar su dimensión inicial.Cuando creamos un vector u objeto de la clase Vector. el vector crece 5 mas 7 7 . y cuanto crecerá si rebasamos dicha dimensión: Vector vector=new Vector(20. Dimensión inicial 20 elementos Si almacenamos 21. 5).

marcas 8 . solamente se le pasa la dimensión inicial. ya que si se pretende guardar un número grande de elementos se tiene que especificar el incremento de la capacidad del vector. El programador ha de tener cuidado con este constructor. la dimensión del vector se duplica. Si se rebasa la dimensión inicial guardando 21 elementos. si no se quiere desperdiciar inútilmente la memoria el ordenador. Vector vector=new Vector(20).Al segundo constructor.

addElement(dato). Inserta el objeto al final carlos pedro luís 9 .OPERACIONES BASICAS UTILIZANDO LA CLASE VECTOR  Inserta el objeto especificado al final del vector addElement (parametro). Ejemplo: Puede ser cualquier tipo de dato vector.

Ejemplo: Se cambia luís por zoila vector.insertElementAt(“zoila”. setElementAt (parametro. carlos pedro luís zoila ana mario 10 . 2).• Cambia el elemento que está en una determinada posición. indice).

0). Ejemplo: En la posición 0 se insertara vector. indice). carlos martha pedro carlos zoila pedro zoila 11 .insertElementAt(“martha”.• Inserta un elemento determinada posición. por delante de una insertElementAt (parametro.

• Elimina el primer objeto que se encuentra como su argumento y desplaza los restantes. Si no lo encuentra devuelve false: Elemento eliminado martha carlos vector. 12 . llamando a la función miembro vector.removeElement(indice).removeAllElements(). pedro zoila  Podemos eliminar todos los elementos de un vector.

elementAt(indice).• Elimina el elemento que está en una Se indica la determinada posición : posición vector. martha carlos pedro zoila carlos pedro zoila • Devuelve el objeto posición en una determinada vector.removeElementAt(indice). 13 .

lastElementAt().• Devuelve el primer elemento : vector. 14 . martha carlos pedro zoila • Devuelve el último elemento: vector. firstElement().

copyInto (Object anArraay[]).println(“SI EXISTE "). • Copia un vector en una array: vector.out. 15 .contains(“pedro")){ System.• Devuelve una copia del vector vector. • Para saber si un dato esta dentro del array: if(v.clone( ).

trimToSize(). marcas 16 .• Ajusta el tamaño a los elementos que tiene: vector.setSize(int new Size). • Establece un nuevo tamaño: vector.

size().capacity().• Devuelve el tamaño (capacidad) del vector: vector. capacityIncrement() es una variable que indica el salto que se dará en el tamaño cuando se necesita crecer • Devuelve el número de elementos: vector. 17 .

”Lleno”).• Devuelve true si el vector esta vació de lo contrario retornara false: if (vector. • Devuelve una Enumeración con los elementos: Enumeration elements().isEmpty()) JOP.”Vacio”).sMD(null. else JOP. 18 .sMD(null.

• Devuelve la posición de la primera vez que aparece una objeto a partir de una posición dada . 19 . hacia atrás: lastindexOf(Object elem. int index). int index).• Devuelve la posición de la primera vez que aparece una objeto a partir de una posición dada : indexOf(Object elem.

 Para saber la dimensión actual de un vector se llama a la función miembro capacity. JOP. 20 . se llama a la función miembro size. Para saber cuantos elementos guarda un vector.capacity()).sMD(null. JOP."nº de elementos "+vector.size()).sMD(null."dimensión "+vector.

i<v.”Datos en el array”+cad) 21 .s.MD(null. JOP.elementAt(i)+"\n”. for( i=0. Para acceder a todos lo elementos del vector.size(). escribimos un código semejante al empleado para acceder a todos los elementos de un array. i++) cad=cad+vector.