Repaso - HashMap
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 51 de 66.
Desafío
FácilCrea un método llamado ProcessDictionary que tome como parámetros un Dictionary<string, int> y un conjunto de operaciones. El método debe realizar estas operaciones:
- Si la operación es "GET key", imprime el valor de esa clave o "Not found" si la clave no existe
- Si la operación es "CHECK key", imprime "Exists" si la clave existe; de lo contrario, imprime "Not found"
- Si la operación es "MODIFY key value", haz lo siguiente:
- Si la clave existe y tiene el mismo valor que el proporcionado, aumenta su valor en 1
- Si la clave existe pero tiene un valor diferente, elimina la clave
- Si la clave no existe, agrégala con el valor proporcionado
Devuelve el Dictionary actualizado después de procesar todas las operaciones.
Pruébalo tú mismo
using System;
using System.Collections.Generic;
class Program
{
public static Dictionary<string, int> ProcessDictionary(Dictionary<string, int> data, string[] operations)
{
// Escribe tu código aquí
}
static void Main(string[] args)
{
// Inicializa un diccionario con algunos datos
Dictionary<string, int> data = new Dictionary<string, int>
{
{ "Apple", 10 },
{ "Banana", 5 },
{ "Orange", 7 }
};
// Operaciones de muestra
string[] operations = new string[]
{
"GET Apple",
"CHECK Mango",
"MODIFY Banana 5",
"MODIFY Orange 8",
"MODIFY Mango 3"
};
Dictionary<string, int> result = ProcessDictionary(data, operations);
// Mostrar el resultado
Console.WriteLine("Updated Dictionary:");
foreach (var item in result)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}Todas las lecciones de Lógica y Flujo
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulos9HashMap Parte 1
¿Qué es un HashMap?Declarar un HashMapComprobar si existe una claveAcceder a los valoresModificar diccionariosRepaso - HashMapPractica por tu cuenta: Compilador de C# online