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 delHashMap.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: nullEn este ejemplo, recuperamos la edad de Alice usando la clave "Alice". Dado que "Charlie" no es una clave en el HashMap, charlieAge es null.
Desafío
FácilCrea un método llamado getCapital que tome dos argumentos:
- Un
HashMapllamadocapitalsdonde las claves son nombres de países (cadenas) y los valores son nombres de ciudades capitales (cadenas). - Una cadena
countryque 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"); // nullPrué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);
}
}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
1Arreglos Multidimensionales
Básicos de Arreglos 2DAccediendo a Elementos de Arreglos 2DBucles Anidados con Arreglos 2DResumen - Arreglos 2DSuma y Resta de MatricesArreglos IrregularesArreglos 3D y Más AlláPatrones Comunes de Arreglos 2DResumen - Todo Sobre Arreglos4HashSet Parte 1
¿Qué es un HashSet?Agregando un elementoEliminando un elementoComprobando si existe un elementoVacío y tamañoLimpiar y clonarResumen - HashSet7Manejo Básico de Errores
Básicos de Try-CatchBloque FinallyLanzamiento de ExcepcionesExcepciones Personalizadas2HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapAcceder a ValoresVerificar si una Clave ExisteModificar DiccionariosResumen - HashMap3HashMap Parte 2
Métodos de HashMapIterar con keySet()Iterar con entrySet()HashMap AnidadoResumen - Gestionar AlmacénResumen - Operaciones de HashMap6Flujo de Control Avanzado
Sentencias EtiquetadasExpresión SwitchCoincidencia de PatronesCláusulas de GuardiaResumen - Flujo de Control9Proyecto - Contador de Palabras Únicas
Entrada y Almacenamiento de TextoProcesamiento de Palabras