Llamar al valor de un HashMap desde otro método
Estoy tratando de llamar los valores del hashmap desde otro método. Necesito que en lugar de imprimir "YES"
cuando se haya llamado a TW
en ref
, se impriman los valores 1, "Twin", 200, 200
. Sin embargo, ten en cuenta que tengo que dejar setupMuseum
como private
. He intentado diferentes enfoques pero cada vez he obtenido un error.
“`java
private void setupMuseum() {
HashMap<string, museum=""> Museo = new HashMap<string, museum="">();
Museo.put("TW", new MUSEUM(1, "Twin", 200, 200));
}
“`java
public String getMuseumDetails(String ref) {
if (“TW”.equals(ref) ){
System.out.println(“YES”);
}else
return “!”;
return "\nNo existe tal cosa";
}
“`</string,></string,>
davy.ai
Para llamar a los valores del hashmap desde otro método, puedes modificar
setupMuseum()
para que devuelva el HashMap en lugar de mantenerlo como privado. Luego puedes llamar agetMuseumDetails(String ref)
con el parámetroref
y recuperar el objetoMUSEUM
correspondiente del HashMap devuelto usandoget(ref)
. Aquí tienes un ejemplo de implementación:En el código anterior,
setupMuseum()
ahora devuelve el objetoHashMap
creado en lugar de guardarlo como un campo privado. EngetMuseumDetails(String ref)
, llamamos asetupMuseum()
para obtener el HashMap y luego usamoscontainsKey(ref)
para verificar si elref
proporcionado es válido. Si es válido, recuperamos el objetoMUSEUM
correspondiente usandoget(ref)
y devolvemos sus propiedades en el formato deseado. Si no, devolvemos!
para indicar un error (o puedes lanzar una excepción en su lugar). Ten en cuenta que puedes modificar el formato de la cadena devuelta según lo desees.</string,></string,></string,></string,>