Anda di halaman 1dari 4

Declaracin e inicializacin de una variable Vector

En el siguiente ejemplo podemos ver cmo se declara una variable de este tipo:
import java.util.Vector; Vector<String> v = new Vector<String>(); v.add("Hola"); v.add("Este es el segundo elemento del vector"); v.add("Tercera lnea"); System.out.println("elementos en v : "+v.size()); System.out.println("primer elemento: "+v.elementAt(0));

Al estar implementada esta funcionalidad mediante una clase, la variable v se inicializa creando una instancia de la clase con la llamada a new Vector() 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>

A continuacin, se aaden elementos mediante llamadas al mtodo add() 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.

Aadir, eliminar y consultar elementos de un Vector


Ya hemos visto que podemos aadir elementos al final de un Vector con el mtodo add(e). Adems, disponemos de los siguientes mtodos para alterar el contenido del mismo: addElement(e) Equivalente a add(e). add (idx, e), insertElementAt(e, idx) inserta el elemento en la posicin indicada. set (idx, e), setElementAt(e, idx) sustituye el elemento en el ndice idx por el elemento e get (idx), elementAt(idx) - Devuelve el elemento en el ndice idx del Vector firstElement(), lastElement() Devuelven respectivamente el primer y ltimo elemento del vector

remove (idx), removeElementAt(idx) Devuelve el elemento en el ndice idx, y lo elimina del Vector. El ndice de los elementos posteriores disminuye en una unidad, de modo que el elemento en la posicin idx+1 pasa a ser el nuevo elemento en la posicin idx removeRange(idx1, idx2) elimina los elementos con indices idx1 <= idx < idx2 contains( e ) Devuelve true si el vector contiene el objeto e

Capacidad de un Vector
Cada vez que se aade un elemento a un Vector, el sistema tiene que ubicar la memoria necesaria para albergarlo. Para mejorar el rendimiento cuando se trabaja con Vectores que deben contener un elevado nmero de elementos, en al crear el objeto Vector se puede definir una capacidad inicial, y un incremento de capacidad del Vector:
int capacidadInicial = 1000; int capacidadIncremento = 100; Vector v = new Vector(capacidadInicial, capacidadIncremento);

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

Le pedimos al usuario que introduzca el tamao de 2 vectores y tambien le pedimos los datos para llenar los 2 vectores, luego en un 3 vector tenemos que sumar las posiciones de los 2 vectores que el usuario lleno. Ejemplo: supongamos que el primer vector es de tamao 3 y el vector 2 es de tamao 5. Vector 1 |2|5|7| Vector 2 |3|4|1|4|10| Vector 3 |5|9|8|4|10| Este vector nosotros lo tenemos que calcular ?

1 2 3 4 5 6 7 8 9 10 11 12

/** * Sumar Vectores application * */ import java.util.Scanner; public class SumarVectores { public static void main(String[] args) { Scanner leer = new Scanner(System.in); //variables que seran el tamao de los vectores int v1,v2,v3; System.out.print("Ingrese tamao del vector 1:"); v1 = leer.nextInt(); //creamos el primer vector con tamao del usuario int vec1[] = new int[v1];

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

//recorremos vector para llenarlo for(int i1=0; i1<vec1.length; i1++){ System.out.print("\nIngrese Numero Entero de la Posicion"+" " +i1+":"); vec1[i1]=leer.nextInt(); } System.out.print("\nIngrese tamao del vector 2:"); v2 = leer.nextInt(); //creamos el segundo vector con tamao del usuario int vec2[] = new int[v2]; //recorremos vector para llenarlo for(int i2=0; i2<vec2.length; i2++){ System.out.print("\nIngrese Numero Entero de la Posicion"+" " +i2+":"); vec2[i2]=leer.nextInt(); } //determinamos cual vector de los 2 es mas grande //para que el vector 3 tenga el tamao del mas grande v3=v1; if (v2 > v1) v3=v2; //declaramos vector 3 int[] vec3 = new int[v3]; //recorremos vector 3 para hacer la suma for(int i3=0; i3<vec3.length; i3++){ int valv1 = 0; if (vec1.length > i3){ valv1 = vec1[i3]; } int valv2 = 0; if (vec2.length > i3){ valv2 = vec2[i3]; } //hacemos la suma de las posiciones de los vectores 1 y 2 //en las posiciones del vector 3 vec3[i3]=valv1+valv2; System.out.println("\nLa Suma de la Posicion"+" "+i3+" "+ "es:"+vec3[i3]); } } }

Pueden ver que el cdigo esta comentado para que lo comprendan mejor, pero les dar una breve explicacin. Linea 10 empezamos declarando 3 variables enteras que nos sern el tamao de los 3 vectores. Linea 11 y 12 pedimos el ingreso del tamao de primer vector y capturamos el valor.

Linea 14 declaramos el primer vector con el tamao que capturamos anteriormente. Linea 16 a 19 recorremos el primer vector y pedimos los datos para llenarlo. Linea 20 a 28 hacemos lo mismo que las lineas 11 a 19 solo que con el vector 2. Linea 31 a 33 aqu calculamos el tamao del vector 3. Linea 37 a 49 recorremos el vector 3 y dentro de el calculamos la suma de las posiciones de los primeros 2 vectores.

Anda mungkin juga menyukai