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 doHashMap.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: nullNeste exemplo, recuperamos a idade de Alice usando a chave "Alice". Como "Charlie" não é uma chave no HashMap, charlieAge é null.
Desafio
FácilCrie um método chamado getCapital que recebe dois argumentos:
- Um
HashMapchamadocapitalsonde as chaves são nomes de países (strings) e os valores são nomes de cidades capitais (strings). - Uma string
countryrepresentando 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"); // nullExperimente 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);
}
}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
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de Palavras