FCKU está baneado del subforo por "No especificado"
Hola de nuevo,
Si no te quieres complicar demasiado la vida iterando sobre listas y demás yo de tí haria esto:
1) modela cada pelicula como un pojo:
un pojo es una clase que solo sirve para almacenar datos y que no posee lógica aunque pueda implementar constructores, el metodo equals(), etc. Es decir, es una clase que, a priori, solo tiene metodos get y set.
Por ejemplo:
package lalala.lololo
public class Pelicula {
private Integer codigo;
private String titulo;
private String descripcion;
public Integer getCodigo () { return codigo }
public void setCodigo (Integer codigo) { this.codigo = codigo }
public String getTitulo () { return titulo }
public void setTitulo (Integer codigo) { this.titulo = titulo }
public String getDescripcion () { return descripcion }
public void setDescripcion (Integer codigo) { this.descripcion = descripcion }
}
2) Utiliza un hashmap para almacenar los datos
El hashmap contiene un par , donde la puede ser o bien un codigo arbitrario que no se repita nunca o el titulo de la pelicula, y el el pojo que hayas creado antes.
De este modo lo que consigues es:
a) Ya que lo tienes mapeado no tienes que iterar por toda la lista para encontrar una pelicula concreta. Es decir, si quieres ver el nombre del director de la pelicula con codigo "50" no tienes que recorrerlas todas, solo hacer:
Pelicula pelicula = (Pelicula) mapa.get (new Integer(50));
System.out.println (pelicula.getTitulo());
o si decides que la clave sea el titulo de la pelicula mas de lo mismo:
Pelicula pelicula = (Pelicula) mapa.get ("Matrix");
System.out.println (pelicula.getDirector());
Esto te puede ser util para borrar, modificar o consultar peliculas. Yo consideraria el usar mapas (en concreto un HashMap)
Y si quieres saber el numero de peliculas que tienes cargadas el HashMap tiene un metodo size().
---------------
Con respecto a Vector, Hashtable y demás:
El mejor NO UTILIZAR NI VECTOR NI HASHTABLE. Como bien habeis comentado antes sus metodos estan sincronizados. Esto en algunos casos es importante pero en la inmensa mayoria no es necesario.
Si teneis que utilizar listas o mapas es mejor usar ArrayList o HashMap porque sus metodos, si no le indicas lo contrario, no están sincronizados.
Os comento esto porque en una aplicación pequeña no pasa nada, pero en una aplicacion grande puedes tener muchisimos problemas de rendimiento por utilizar muchos vectores y muchas hashtables sin motivo.