Récapitulatif - HashMap
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 51 sur 66.
Défi
FacileCréez une méthode appelée ProcessDictionary qui prend un Dictionary<string, int> et un tableau d'opérations en paramètres. La méthode doit effectuer ces opérations :
- Si l'opération est "GET key", affichez la valeur de cette clé ou "Not found" si la clé n'existe pas
- Si l'opération est "CHECK key", affichez "Exists" si la clé existe, sinon affichez "Not found"
- Si l'opération est "MODIFY key value", procédez comme suit :
- Si la clé existe et possède la même valeur que celle fournie, augmentez sa valeur de 1
- Si la clé existe mais possède une valeur différente, supprimez la clé
- Si la clé n'existe pas, ajoutez-la avec la valeur fournie
Retournez le Dictionary mis à jour après avoir traité toutes les opérations.
Essayez vous-même
using System;
using System.Collections.Generic;
class Program
{
public static Dictionary<string, int> ProcessDictionary(Dictionary<string, int> data, string[] operations)
{
// Écrivez votre code ici
}
static void Main(string[] args)
{
// Initialiser un dictionnaire avec quelques données
Dictionary<string, int> data = new Dictionary<string, int>
{
{ "Apple", 10 },
{ "Banana", 5 },
{ "Orange", 7 }
};
// Exemples d'opérations
string[] operations = new string[]
{
"GET Apple",
"CHECK Mango",
"MODIFY Banana 5",
"MODIFY Orange 8",
"MODIFY Mango 3"
};
Dictionary<string, int> result = ProcessDictionary(data, operations);
// Afficher le résultat
Console.WriteLine("Updated Dictionary:");
foreach (var item in result)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety9HashMap Partie 1
Qu'est-ce qu'un HashMap ?Déclarer un HashMapVérifier si une clé existeAccéder aux valeursModifier des dictionnairesRécapitulatif - HashMap