Menú Curso Java Básico : Utilización de Vectores

(Anterior) Interfases, Arreglos y Polimorfismo.
En base a su ambiente, abra un Editor de Textos para generar el siguiente ejemplo.

Código Fuente ArticulosOficina.java

En el siguiente código fuente se demuestra el uso de Vectores:

 
import java.util.Vector;

class Clip {} 

class Lapiz {}

class Pluma {} 

class Silla {} 

class SillaReclinable {} 

public class ArticulosOficina {
    public static void main(String[] args) {

	// Un arreglo de Clips
	Clip[] c = new Clip[5]; 
	
	// Un objeto de Lapiz 
	Lapiz l = new Lapiz();
	
	// Un arreglo de Plumas
	Pluma[] p = new Pluma[7];
	
	// Un arreglo de Sillas
	Silla[] s = { 
	    new Silla(), new Silla(), new Silla()
		};

	// Un Objeto Tipo String 
	String deptF = new String("Finanzas");
	String deptV = new String("Ventas");
	
	// Definir Dos Vectores 
	Vector ciudad1 = new Vector(3);
	Vector ciudad2 = new Vector(4,5);
	
	//Iniciar asignación de Objetos a Vectores 
	//Un Vector puede tomar cualquier tipo de Objeto
	ciudad1.add(deptF);
	ciudad1.add(c);
	ciudad1.add(l);

	ciudad2.add(deptV);
	ciudad2.add(c);
	ciudad2.add(l);


	System.out.println("Vector ciudad1 tiene " + ciudad1.size() + 
                           " elementos y una capacidad de " + ciudad1.capacity());
	System.out.println("Vector ciudad2 tiene " + ciudad2.size() + 
                           " elementos y una capacidad de " + ciudad2.capacity());

	// Asignar otros valores para ver incremento de capacidad 
	ciudad1.add(p);	
	ciudad1.add(s);	

	ciudad2.add(p);	
	ciudad2.add(s);	

	System.out.println("Después de agregar otros elementos: ");
	System.out.println("Vector ciudad1 tiene " + ciudad1.size() + 
                           " elementos y una capacidad de " + ciudad1.capacity());
	System.out.println("Vector ciudad2 tiene " + ciudad2.size() + 
                           " elementos y una capacidad de " + ciudad2.capacity());

	String deptExtraido = (String) ciudad1.elementAt(0);
	Silla[] sillaExtraida = (Silla[]) ciudad1.elementAt(4);

	System.out.println("El departamento de " + deptExtraido + 
                           " en la ciudad1 tiene " + sillaExtraida.length + " sillas");  

	SillaReclinable[] sr = new SillaReclinable[12];
	ciudad2.insertElementAt(sr,4);
	
	deptExtraido =  (String) ciudad2.elementAt(0);

	// La siguiente extracción generaría un error 
	// porque este elemento del Vector ya no es una Clase Silla
	// sillaExtraida = (Silla[]) ciudad2.elementAt(4);

	SillaReclinable[] sillaRecExtraida = (SillaReclinable[]) ciudad2.elementAt(4);

	System.out.println("El departamento de " + deptExtraido + 
                           " en la ciudad2 tiene " + sillaRecExtraida.length + " sillas");

    }

}

Primeramente se definen varias Clases que constan únicamente de su declaración : Clip, Lapiz, Pluma, Silla, SillaReclinable seguido se encuentra la definición de la Clase principal ArticulosOficina que contiene solo su método principal (main), dentro de este método se define lo siguiente:

  • Se definen diversas instancias de las Clases declaradas con anterioridad, unas de ellas en manera de arreglos y otras como un solo objeto.

  • Posteriormente se definen dos vectores, a través de distintos constructores; la primer instancia indica que su espacio inicial será para tres objetos, mientras la segunda instancia para cuatro objetos, donde el 5 indica la capacidad de incremento (delta) cuando se requiera espacio para más objetos.

  • Son asignados tres objetos a los Vectores y se imprime a pantalla el tamaño y capacidad de ambos.

  • Son asignados otros dos objetos a los Vectores y se imprime a pantalla su tamaño y capacidad, con lo que puede corroborarse la manera en que incrementan su tamaño.

  • Son extraídos del primer Vector dos elementos, nótese que dicha extracción requiere que sea realizado un "Casting" explicito, lo cual es llevado acabo a través de paréntesis ( ) ; esto se debe a que la extracción es llevada acabo de una Clase genérica (Vector) hacia una más especifica ya sea String o Silla[] ("Down-Casting").

  • Es reasignado un valor del segundo vector a través del método insertElement, el cual toma como valor de entrada el índice a substituirse.

  • Son extraídos del segundo Vector dos elementos, para posteriormente imprimirse a pantalla sus valores.

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com