Menu
Coddy logo textTech

Acessando Valores

Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 12 de 59.

Em um HashMap, cada chave está associada a um valor. Para acessar um valor, você usa o método get() e fornece a chave.

O HashMap então retorna o valor associado a essa chave. Se a chave não existir no HashMap, o método get() retorna null.

Aqui está a sintaxe básica:

ValueType value = mapName.get(key);
  • mapName: O nome do HashMap.
  • key: A chave cujo valor associado você deseja recuperar.
  • ValueType: O tipo de dados do valor.

Por exemplo, vamos definir o HashMap primeiro:

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

E agora para recuperar esses valores:

Integer aliceAge = ages.get("Alice");
// Alice's age: 30

Integer charlieAge = ages.get("Charlie");
// Charlie's age: null

Neste exemplo, recuperamos a idade de Alice usando a chave "Alice". Como "Charlie" não é uma chave no HashMap, charlieAge é null.

challenge icon

Desafio

Fácil

Crie um método chamado getCapital que recebe dois argumentos:

  1. Um HashMap chamado capitals onde as chaves são nomes de países (strings) e os valores são nomes de cidades capitais (strings).
  2. Uma string country representando o nome de um país.

O método deve retornar a cidade capital do país dado acessando o capitals HashMap. Se o país não for encontrado no HashMap, retorne "Not found".

Folha de consulta

Para recuperar um valor de um HashMap, use o método get() com a chave. Se a chave não existir, ele retorna null.

ValueType value = mapName.get(key);

Exemplo:

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

Experimente você mesmo

// --- Módulos para converter string de hashmap em 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) {
        // Escreva seu código abaixo
    }

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

        // Converter String de HashMap em 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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo