Menu
Coddy logo textTech

Acceder a Valores

Parte de la sección Lógica y Flujo del Journey de Java de Coddy — lección 12 de 59.

En un HashMap, cada clave está asociada con un valor. Para acceder a un valor, utilizas el método get() y proporcionas la clave.

El HashMap luego devuelve el valor asociado con esa clave. Si la clave no existe en el HashMap, el método get() devuelve null.

Aquí está la sintaxis básica:

ValueType value = mapName.get(key);
  • mapName: El nombre del HashMap.
  • key: La clave cuyo valor asociado desea recuperar.
  • ValueType: El tipo de datos del valor.

Por ejemplo, definamos primero el HashMap:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

Y ahora para recuperar estos valores:

Integer aliceAge = ages.get("Alice");
// Edad de Alice: 30

Integer charlieAge = ages.get("Charlie");
// Edad de Charlie: null

En este ejemplo, recuperamos la edad de Alice usando la clave "Alice". Dado que "Charlie" no es una clave en el HashMap, charlieAge es null.

challenge icon

Desafío

Fácil

Crea un método llamado getCapital que tome dos argumentos:

  1. Un HashMap llamado capitals donde las claves son nombres de países (cadenas) y los valores son nombres de ciudades capitales (cadenas).
  2. Una cadena country que representa el nombre de un país.

El método debe devolver la ciudad capital del país dado accediendo al HashMap capitals. Si el país no se encuentra en el HashMap, devolver "Not found".

Hoja de referencia

Para recuperar un valor de un HashMap, use el método get() con la clave. Si la clave no existe, devuelve null.

ValueType value = mapName.get(key);

Ejemplo:

HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);

Integer aliceAge = ages.get("Alice");  // 30
Integer charlieAge = ages.get("Charlie");  // null

Pruébalo tú mismo

// --- Módulos para convertir cadena de hashmap a hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;

public class Main {
    public static String getCapital(HashMap<String, String> capitals, String country) {
        // Escribe tu código a continuación
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String hashMapString = scanner.nextLine();
        String country = scanner.nextLine();

        // Convert String of HashMap to HashMap
        Type mapType = new TypeToken<HashMap<String, String>>(){}.getType();
        HashMap<String, String> countryCapitals = new Gson().fromJson(hashMapString, mapType);

        String result = getCapital(countryCapitals, country);
        System.out.println(result);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo