You are on page 1of 12

Clase Vector

Problemas

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

1/23

La Clase Vector
Un Vector es similar a un array, con la diferencia que un Vector crece automticamente cuando alcanza la dimensin inicial mxima. Adems, proporciona mtodos adicionales para aadir, eliminar elementos, e insertar elementos entre otros dos existentes. Veamos algunos de ellos:

Cmo crear un Vector:


Vector miVector = new Vector();

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

2/23

La Clase Vector
Otra forma de creacin de un vector: Vector miVec = new Vector(); Vector miVec = new Vector(25); Vector miVec = new Vector(20,5); Para usar la clase Vector debemos importar la librera : import java.util.*;

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

3/23

La Clase Vector
Para aadir elementos al vector:
Hay dos formas de aadir elementos a un vector: 1. aadiendo un elemento a continuacin del ltimo elemento del vector, usando la funcin miembro addElement. miVec.addElement("uno"); miVec.addElement("dos"); miVec.addElement("cinco"); miVec.addElement(cuatro"); uno dos cinco cuatro ...

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

4/23

La Clase Vector
Otra forma de aadir elementos al vector: 2. insertando un elemento en una determinada posicin, mediante la funcin miembro insertElementAt miVec.insertElementAt("tres", 2); cinco uno dos tres cuatro ...

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

5/23

La Clase Vector
Eliminar elementos del vector:
1. La funcin miembro removeAllElements elimina todos los elementos de un vector. miVec.removeAllElements(); 2. Para eliminar un elemento particular del Vector, utilizamos la funcin miembro removeElement miVec.removeElement("cuatro); Si existen varios datos en el vector que coinciden con el dato a eliminar, se elimina el primero que halle

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

6/23

La Clase Vector
Para eliminar un elemento de una posicin especfica del Vector, utilizamos la funcin miembro removeElementAt miVec.removeElementAt(2);

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

7/23

La Clase Vector
Acceso a Elementos del Vector
Para conocer cul es el primer elemento almacenado en el vector: miVec.firstElement() Para conocer cul es el ultimo elemento guardado en el vector: miVec.lastElement() Para saber si un vector est vaco: miVec.isEmpty() devuelve true o false si el vector esta vaco o no
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 8/23

La Clase Vector
Acceso a los elementos de un vector
Para saber cuantos elementos tiene un vector, se usa la funcin miembro size miVec.size Para saber la dimensin actual del vector, se usa la funcin capacity miVec.capacity Para ver el contenido del Vector en la posicin i , usamos la funcin miembro elementAt. miVec.elementAt(3) regresa contenido de Vector miVec en la posicin 4
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 9/23

La Clase Vector
public class UsaVectores{ public static void main(String a[ ]){ VectorClass miDato = new VectorClass(); public class VectorClass{ miDato.miVec.addElement("Medicina"); Vector miVec = new Vector(); miDato.miVec.addElement("Ingenieria"); } miDato.miVec.addElement("Ciencias"); miDato.miVec.addElement("Economia"); miDato.miVec.addElement("Humanidades"); miDato.miVec.addElement("Administracin"); JOptionPane.showMessageDialog(null,"El primer elemento es " + miDato.miVec.firstElement() ); JOptionPane.showMessageDialog(null,"El ultimo elemento es " + miDato.miVec.lastElement() ); JOptionPane.showMessageDialog(null,"El segundo elemento es " + miDato.miVec.elementAt(1) ); System.exit(0); } }
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 10/23

Uso de Objetos con Vectores


Manejar las notas de un estudiante en un Objeto, usando un arreglo:

Clase Estudiante
Nombre Campo Tipo Dato
codi nomb nota1 nota2 nota3 def
17/11/04

String String double double double double

public class String String double double double double }

Estudiante { codi; nomb; nota1; nota2; nota3; def;

Guardar como Estudiante.java

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

11/23

Uso de Objetos con Vectores


elEstudiante

elEstudiante codi=0427555 codi= 0427555 ; nomb=Sergio nomb= Sergio ; nota1=4.5; nota2=5.0; nota3=4.8; def=4.77;

elEstudiante codi = 0416545 ; =0416545 nomb = Walter ; =Walter nota1 =1.2; nota2 =1.2; nota3 =1.2; def=1.2;

elEstudiante codi = 0405755 ; =0405755 nomb = Alvaro ; =Alvaro nota1 =5.0; nota2 =5.0; nota3 =5.0; def=5.0;

elEstudiante codi = 0404633 ; =0404633 nomb = Grace ; =Grace nota1 =4.0; nota2 =4.4; nota3 =4.8; def=4.4;

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

12/23

Uso de Objetos con Vectores


Se requiere:
Solicitar las notas de cada estudiante Crear un objeto de la clase Estudiante (llamado elEstudiante) Asignarle a sus atributos los valores digitados por el usuario. Ingresar el objeto elEstudiante al vector

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

13/23

Uso de Objetos con Vectores


Solicitar las notas de cada estudiante
codi = JOptionPane.showInputDialog(Codigo "); nomb = JOptionPane.showInputDialog(Nombre "); cal1 = Double.parseDouble(JOptionPane.showInputDialog(Calificacion 1 ")); cal2 = Double.parseDouble(JOptionPane.showInputDialog(Calificacion 2 ")); cal3 = Double.parseDouble(JOptionPane.showInputDialog(Calificacion 3 ")); notaFinal= (cal1+cal2+cal3)/3;

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

14/23

Uso de Objetos con Vectores


Crear un objeto de la clase Estudiante (llamado elEstudiante)
Estudiante elEstudiante = new Estudiante();

elEstudiante
codi=?; nomb=?; nota1=?; nota2=?; nota3=?; def=?;
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 15/23

Uso de Objetos con Vectores


Asignarle a los atributos de elEstudiante los valores digitados por el usuario.
elEstudiante.codi=codigo; elEstudiante.nomb=nombre; elEstudiante.nota1=cal1; elEstudiante. nota2=cal2; elEstudiante. nota3=cal3; elEstudiante.def=notaFinal;

elEstudiante
codi=9709555 codi=9709555; nomb=Sergio nomb=Sergio; nota1=4.5; nota2=5.0; nota3=4.8; def=4.77;

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

16/23

Uso de Objetos con Vectores


Ingresar el objeto elEstudiante al vector
Vector vecMiEstudiante = new Vector(); vecMiEstudiante.addElement(elEstudiante);

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

17/23

Uso de Objetos con Vectores


Estructura de solucin del problema:
Para (int i = 0; i<n ; i++){ Solicitar las notas de cada estudiante Crear un objeto de la clase Estudiante (llamado elEstudiante) Asignarle a sus atributos los valores digitados por el usuario. Ingresar el objeto elEstudiante al vector

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

18/23

Uso de Objetos con Vectores


Mostrar el cdigo,nombre y nota final de los estudiantes que perdieron el curso:
Recorrer todo el vector de estudiantes y verificar si la nota definitiva de cada estudiante es menor que 3.0 Si se cumple esta condicin, se muestra en miArea cdigo, nombre y nota final. Algoritmo: para ( i = 0; hasta n; i++){ si ( la nota definitiva del estudiante i es menor que 3.0 ) mostrar el cdigo, el nombre y la nota definitiva }fin
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 19/23

Uso de Objetos con Vectores


def<3.0?

elEstudiante codi=0427555 codi= 0427555 ; nomb=Sergio nomb= Sergio ; nota1=4.5; nota2=5.0; nota3=4.8; def=4.77;

elEstudiante codi = 0416545 ; =0416545 nomb = Walter ; =Walter nota1 =1.2; nota2 =1.2; nota3 =1.2; def=1.2;

elEstudiante codi = 0405755 ; =0405755 nomb = Alvaro ; =Alvaro nota1 =5.0; nota2 =5.0; nota3 =5.0; def=5.0;

elEstudiante codi = 0404633 ; =0404633 nomb = Grace ; =Grace nota1 =4.0; nota2 =4.4; nota3 =4.8; def=4.4;

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

20/23

10

Uso de Objetos con Vectores


Cdigo Java:
for (int i=0; i<n; i++){ if ( ((Estudiante) vecMiEstudiante.elementAt(i)).def < 3.0 ) miArea.append(((Estudiante) vecMiEstudiante.elementAt(i)).codi +"\t"+((Estudiante) vecMiEstudiante.elementAt(i)).nomb+"\t +((Estudiante) vecMiEstudiante.elementAt(i)).def); }

Acceder al campo def (Nota definitiva) del objeto estudiante en la posicin i del vector llamado vecMiEstudiante

17/11/04

Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7

21/23

Uso de Objetos con Vectores


Mostrar el nombre de los estudiantes que ganaron cada una de las tres notas
Recorrer todo el vector de estudiantes y verificar si nota1, nota2 y nota3 es mayor o igual 3.0 Si se cumple esta condicin, se muestra en miArea el nombre de ese estudiante. Algoritmo: para ( int j=0; hasta n; j++) { si ( nota1>=3.0 & nota2>=3.0 & nota3>=3.0 para estudiante j) Mostrar (nombre) }fin
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 22/23

11

Uso de Objetos con Vectores


Cdigo Java:
for(int j=0; j<n; j++) { if ( ((Estudiante) vecMiEstudiante.elementAt(j)).nota1>=3.0 && ((Estudiante) vecMiEstudiante.elementAt(j)). nota2>=3.0 && ((Estudiante) vecMiEstudiante.elementAt(j)). nota3>=3.0 ) { miArea.append(((Estudiante) vecMiEstudiante.elementAt(j)).nomb); } } Casting del vector miVecEstudiantes a objeto de la clase Estudiante
17/11/04 Curso de Algoritmia y Programacin - Prof: Mauricio Fernndez - Clase 7 23/23

12

You might also like