Resumo - HashMap
Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 15 de 59.
Desafio
FácilCrie um método chamado processHashMap que recebe um HashMap<String, Integer> e um array de operações String, e então executa as seguintes ações:
1. Operação GET
- Formato:
"GET key" - Ação:
- Se a chave existir: Imprima o valor
- Se a chave não existir: Imprima
"Not found"
2. Operação CHECK
- Formato:
"CHECK key" - Ação:
- Se a chave existir: Imprima
"Exists" - Se a chave não existir: Imprima
"Not found"
- Se a chave existir: Imprima
3. Operação MODIFY
- Formato:
"MODIFY key targetValue" - Ação:
- Se a chave existir E seu valor atual for igual a targetValue: Use
replace()para atualizar o valor para targetValue + 1 - Se a chave existir MAS seu valor atual for diferente de targetValue: Use
remove()para deletar a chave - Se a chave não existir: Use
put()para adicioná-la com targetValue como seu valor
- Se a chave existir E seu valor atual for igual a targetValue: Use
- Nota: NÃO imprima nada durante as operações MODIFY
Saída Final:
Após processar todas as operações, o método deve retornar o HashMap modificado. O método main o imprimirá no formato JSON.
Experimente você mesmo
// --- Módulos para converter string de hashmap para 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 HashMap<String, Integer> processHashMap(HashMap<String, Integer> data, String[] operations) {
// Escreva seu código aqui
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String operationsString = scanner.nextLine();
// Convert String of HashMap to HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
// Convert String of Array to Array
String[] operations = new Gson().fromJson(operationsString, String[].class);
HashMap<String, Integer> result = processHashMap(data, operations);
System.out.println(new Gson().toJson(result));
}
}
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