Recap - HashMap
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 51 de 66.
Desafio
FácilCrie um método chamado ProcessDictionary que recebe um Dictionary<string, int> e um array de operações como parâmetros. O método deve executar essas operações:
- Se a operação for "GET key", imprima o valor para essa chave ou "Not found" se a chave não existir
- Se a operação for "CHECK key", imprima "Exists" se a chave existir, caso contrário imprima "Not found"
- Se a operação for "MODIFY key value", faça o seguinte:
- Se a chave existir e tiver o mesmo valor fornecido, aumente seu valor em 1
- Se a chave existir mas tiver um valor diferente, remova a chave
- Se a chave não existir, adicione-a com o valor fornecido
Retorne o Dictionary atualizado após processar todas as operações.
Experimente você mesmo
using System;
using System.Collections.Generic;
class Program
{
public static Dictionary<string, int> ProcessDictionary(Dictionary<string, int> data, string[] operations)
{
// Escreva seu código aqui
}
static void Main(string[] args)
{
// Inicialize um dicionário com alguns dados
Dictionary<string, int> data = new Dictionary<string, int>
{
{ "Apple", 10 },
{ "Banana", 5 },
{ "Orange", 7 }
};
// Operações de exemplo
string[] operations = new string[]
{
"GET Apple",
"CHECK Mango",
"MODIFY Banana 5",
"MODIFY Orange 8",
"MODIFY Mango 3"
};
Dictionary<string, int> result = ProcessDictionary(data, operations);
// Exiba o resultado
Console.WriteLine("Updated Dictionary:");
foreach (var item in result)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}Todas as lições de Lógica & Fluxo
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety9HashMap Part 1
What is a HashMap?Declare a HashMapCheck If Key ExistsAccessing ValuesModifying DictionariesRecap - HashMap