Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Arobavx en 26 Octubre 2010, 05:08 am



Título: Problema con Parametros
Publicado por: Arobavx en 26 Octubre 2010, 05:08 am
Hola gente necesito ayuda con esto, por ejemplo si tengo una clase asi.

Código
  1. public class Libro {
  2. private String autor ;
  3. private String editorial;
  4. private String nombre;
  5. public Libro(String autor , String editorial, String nombreLib){
  6. this.autor = autor;
  7. this.editorial = editorial;
  8. this.nombre = nombreLib;
  9.  
  10. }
  11. }
  12.  

y otra clase con un hashmap


Código
  1. import java.util.*;
  2. public class Biblioteca {
  3. private HashMap biblioteca;
  4. /**
  5. * Constructor de clase
  6. * @param libroNuevo
  7. * @param codigo
  8. */
  9. public Biblioteca(Libro libroNuevo, String codigo){
  10. biblioteca = new HashMap();
  11. }
  12.  
  13. /**
  14. * clase agrega Libros con  su codigo respectivo
  15. * @param agregado
  16. * @param codigo
  17. */
  18. public void agregarLibro(Libro agregado, String codigo){
  19. biblioteca.put(codigo, agregado);
  20. }
  21.  
  22. /**
  23. *
  24. * @param codigo
  25. */
  26. public void borrarLibro(String codigo){
  27. biblioteca.remove(codigo);
  28. System.out.println("Libro removido exitosamente");
  29. }
  30. /**
  31. * lista los libros que estan en la biblioteca
  32. */
  33. public void listarLibros(){
  34. Iterator guia = biblioteca.values().iterator();
  35. while(guia.hasNext()){
  36. System.out.println(guia.next());
  37. }
  38.  
  39. }
  40.  
  41. public void buscar(String key){
  42. Iterator hilo = biblioteca.keySet().iterator();
  43. while(hilo.hasNext()){
  44. if( hilo.next().equals(key)){
  45. System.out.println("existe");
  46. break;
  47. } else {
  48. System.out.println("NO esta");
  49. }
  50. }
  51. }
  52. }

mi problema es que al tener cargado el hashmap con varios libros y quiero acceder al nombre del autor de cualquier libro que busque mediante el codigo. NO se que mas probar.  :huh: desde ya gracias..

Saludos


Título: Re: Problema con Parametros
Publicado por: Leyer en 26 Octubre 2010, 11:18 am
No es necesario que recorras todo el hashMap, ya que el hashMap tiene un método    containsKey(key) que te permite saber si cierto dato esta agregado en el hashMap.

Podrías especificarle al hashMap el tipo de dato a almacenar y key que usara si es String o int etc..HashMap<String, Libro>.

También tienes que crear getter y setter a las variables privadas de la clase Libro, para que puedas acceder a estas cuando buscas un libro en el hashMap.

Un saludo.