Baixe o app para aproveitar ainda mais
Prévia do material em texto
EXEMPLO HASHTABLE E SORTEDLIST using System; using System.Collections; namespace ExemploHashTableSortedList { class Program { static void ExemploHT() { Hashtable HT = new Hashtable(); Console.WriteLine("Após instanciação HT tem {0} elementos.", HT.Count); HT.Add(1, "Um"); HT.Add(2, "Dois"); HT.Add(3, "Três"); HT.Add(4, "Quatro"); HT.Add(5, "Cinco"); HT.Add("AED", "Algoritmos e Estruturas de Dados"); HT.Add("ATP", "Algoritmos e Técnicas de Programação"); Console.WriteLine("Após chamadas ao método Add HT tem {0} elementos.", HT.Count); // Contains - Verifica se o Hashtable contém determinada chave if (HT.Contains(1)) Console.WriteLine("HT.Contains(1) - Chave 1 está presente em HT"); else Console.WriteLine("HT.Contains(1) - Chave 1 NÃO está presente em HT"); if (HT.Contains("Um")) Console.WriteLine("HT.Contains(\"Um\") - Chave Um está presente em HT"); else Console.WriteLine("HT.Contains(\"Um\") - Chave Um NÃO está presente em HT"); // ContainsKey é idêntico ao Contains if (HT.ContainsKey(1)) Console.WriteLine("HT.ContainsKey(1) - Chave 1 está presente em HT"); else Console.WriteLine("HT.ContainsKey(1) - Chave 1 NÃO está presente em HT"); // ContainsValue - Verifica se o Hashtable contém determinado valor if (HT.ContainsValue(1)) Console.WriteLine("HT.ContainsValue(1) - Valor 1 está presente em HT"); else Console.WriteLine("HT.ContainsValue(1) - Valor 1 NÃO está presente em HT"); if (HT.ContainsValue("Um")) Console.WriteLine("HT.ContainsValue(\"Um\") - Valor Um está presente em HT"); else Console.WriteLine("HT.ContainsValue(\"Um\") - Valor Um NÃO está presente em HT"); // Iterando sobre as chaves Console.WriteLine("\nCHAVES\n======"); foreach (Object chave in HT.Keys) Console.Write(chave + " "); // Iterando sobre os valores Console.WriteLine("\n\nVALORES\n======="); foreach (Object valor in HT.Values) Console.WriteLine(valor + " "); // Iterando sobre chaves e valores Console.WriteLine("\nCHAVES E VALORES\n================"); Console.WriteLine("Chave\tValor"); foreach (DictionaryEntry DE in HT) Console.WriteLine(DE.Key + "\t" + DE.Value); HT.Remove(1); HT.Remove("Dois"); HT.Remove(17); Console.WriteLine("\nImprimindo após tentar remover 1, Dois e 17"); Console.WriteLine("Chave\tValor"); foreach (DictionaryEntry DE in HT) Console.WriteLine(DE.Key + "\t" + DE.Value); Console.WriteLine("HT[3] = "+HT[3]); Console.WriteLine("HT[\"AED\"] = " + HT["AED"]); HT.Clear(); // Remove todos os elementos de HT Console.WriteLine("\nApós chamada ao método Clear() HT tem {0} elementos.", HT.Count); } static void ExemploSL() { SortedList SL = new SortedList(); Console.WriteLine("Após instanciação SL tem {0} elementos.", SL.Count); SL.Add(1, "Um"); SL.Add(2, "Dois"); SL.Add(3, "Três"); SL.Add(4, "Quatro"); SL.Add(5, "Cinco"); // SL.Add("AED", "Algoritmos e Estruturas de Dados"); // SL.Add("ATP", "Algoritmos e Técnicas de Programação"); Console.WriteLine("Após chamadas ao método Add SL tem {0} elementos.", SL.Count); // Contains - Verifica se o HasSLable contém determinada chave if (SL.Contains(1)) Console.WriteLine("SL.Contains(1) - Chave 1 está presente em SL"); else Console.WriteLine("SL.Contains(1) - Chave 1 NÃO está presente em SL"); // if (SL.Contains("Um")) // Console.WriteLine("SL.Contains(\"Um\") - Chave Um está presente em SL"); // else // Console.WriteLine("SL.Contains(\"Um\") - Chave Um NÃO está presente em SL"); // ContainsKey é idêntico ao Contains if (SL.ContainsKey(1)) Console.WriteLine("SL.ContainsKey(1) - Chave 1 está presente em SL"); else Console.WriteLine("SL.ContainsKey(1) - Chave 1 NÃO está presente em SL"); // ContainsValue - Verifica se o HasSLable contém determinado valor if (SL.ContainsValue(1)) Console.WriteLine("SL.ContainsValue(1) - Valor 1 está presente em SL"); else Console.WriteLine("SL.ContainsValue(1) - Valor 1 NÃO está presente em SL"); // if (SL.ContainsValue("Um")) // Console.WriteLine("SL.ContainsValue(\"Um\") - Valor Um está presente em SL"); // else // Console.WriteLine("SL.ContainsValue(\"Um\") - Valor Um NÃO está presente em SL"); // Iterando sobre as chaves Console.WriteLine("\nCHAVES\n======"); foreach (Object chave in SL.Keys) Console.Write(chave + " "); // Iterando sobre os valores Console.WriteLine("\n\nVALORES\n======="); foreach (Object valor in SL.Values) Console.WriteLine(valor + " "); // Iterando sobre chaves e valores Console.WriteLine("\nCHAVES E VALORES\n================"); Console.WriteLine("Chave\tValor"); foreach (DictionaryEntry DE in SL) Console.WriteLine(DE.Key + "\t" + DE.Value); Console.WriteLine("SL[3] = " + SL[3]); Console.WriteLine("SL[5] = " + SL[5]); Console.WriteLine("SL[51] = " + SL[51]); // GetByIndex - Retorna o valor na posição passada por parâmetro Console.WriteLine("SL.GetByIndex(2) = " + SL.GetByIndex(2)); // GetKey - Retorna a chave na posição passada por parâmetro Console.WriteLine("SL.GetKey(2) = " + SL.GetKey(2)); // Passar uma posição inexistente provoca um erro/exceção //Console.WriteLine("SL.GetByIndex(51) = " + SL.GetByIndex(51)); //Console.WriteLine("SL.GetKey(51) = " + SL.GetKey(51)); Console.WriteLine("SL.IndexOfKey(4) = "+SL.IndexOfKey(4)); Console.WriteLine("SL.IndexOfValue(\"Quatro\") = "+SL.IndexOfValue("Quatro")); // Passar valores inexistentes não provoca um erro/exceção Console.WriteLine("SL.IndexOfKey(51) = " + SL.IndexOfKey(51)); Console.WriteLine("SL.IndexOfValue(\"Cinquenta e um\") = " + SL.IndexOfValue("Cinquenta e um")); SL.SetByIndex(0, "HUM"); Console.WriteLine("\nImprimindo após alterar 1"); Console.WriteLine("Chave\tValor"); foreach (DictionaryEntry DE in SL) Console.WriteLine(DE.Key + "\t" + DE.Value); SL.RemoveAt(4); SL.Remove(1); SL.Remove(17); Console.WriteLine("\nImprimindo após remover a posição 4 e os elementos 1 e 17"); Console.WriteLine("Chave\tValor"); foreach (DictionaryEntry DE in SL) Console.WriteLine(DE.Key + "\t" + DE.Value); SL.Clear(); // Remove todos os elementos de SL Console.WriteLine("\nApós chamada aométodo Clear() SL tem {0} elementos.", SL.Count); } static void Main(string[] args) { ExemploSL(); Console.WriteLine("\n\nPressione qualquer tecla..."); Console.ReadKey(); } } }
Compartilhar