Esempio n. 1
0
        public static void Main()
        {
            var testHashtable = new HashTable <int, string>();

            testHashtable.Add(1, "hello");
            testHashtable.Add(2, "Bye");
            testHashtable.Add(3, "cat");
            testHashtable.Add(4, "dog");
            testHashtable.Add(5, "monkey");
            testHashtable.Add(6, "Luffy");
            testHashtable.Add(8, "eight");
            PrintingHashTable.Print(testHashtable);

            Console.WriteLine(testHashtable.ContainsKey(8));
            Console.WriteLine(new string('-', 50));

            Console.WriteLine(testHashtable.Find(6));
            Console.WriteLine(new string('-', 50));

            testHashtable.Remove(8);
            PrintingHashTable.Print(testHashtable);

            testHashtable.Clear();
            PrintingHashTable.Print(testHashtable);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var integers = new HashTable <int>(55);

            integers.Add(0);
            integers.Add(30);
            integers.Add(55);
            integers.Add(78);
            integers.Add(99);

            Console.WriteLine("integers: " + string.Join(", ", integers));

            Console.WriteLine("integers.Contains(78) = " + integers.Contains(78));

            Console.WriteLine("removing '55'");
            integers.Remove(55);
            Console.WriteLine("integers: " + string.Join(", ", integers));

            Console.WriteLine("copying integers to array and shifting elements 1 position right");
            var array = new int[integers.Count + 1];

            integers.CopyTo(array, 1);
            Console.WriteLine("array: " + string.Join(", ", array));

            Console.WriteLine("clearing integers");
            integers.Clear();
            Console.WriteLine("integers: " + string.Join(", ", integers));
        }
        static void Main(string[] args)
        {
            HashTable <String, String> table = new HashTable <string, string>(2);

            table.Add("Name", "Ivan");
            table.Add("Surname", "Petrov");
            try
            {
                table.Add("Surname", "Petrov");
            }
            catch (InvalidOperationException ex)
            {
                Console.WriteLine(ex.Message);
            }
            table.Add("Phone Number", "1234567890");

            var val = table.GetValue("Surname");

            Console.WriteLine(val);
            try
            {
                val = table.GetValue("Bad");
            }catch (InvalidOperationException ex)
            {
                Console.WriteLine(ex.Message);
            }

            table.Clear();

            table.Add("Name", "Ivan");
            table.Add("Surname", "Petrov");
            table.Add("Phone Number", "1234567890");
            Console.ReadKey();
        }
        public static void Main()
        {
            var HashTable = new HashTable<int, string> { { 3, "ar" } };

            HashTable[2] = "asd";

            string indexCheck = HashTable[2];

            Console.WriteLine("toString:");
            Console.WriteLine(HashTable);

            Console.WriteLine("indexer:");
            Console.WriteLine(HashTable[2]);
            Console.WriteLine(indexCheck);

            Console.WriteLine("keys:");
            var keysChecker = HashTable.Keys;

            foreach (int key in keysChecker)
            {
                Console.WriteLine(key);
            }

            Console.WriteLine("count:");
            Console.WriteLine(HashTable.Count);
            Console.WriteLine("remove:");
            HashTable.Remove(4);

            Console.WriteLine(HashTable[2]);

            HashTable.Remove(2);

            Console.WriteLine(HashTable[2]);
            Console.WriteLine("count:");
            Console.WriteLine(HashTable.Count);

            string res;
            bool findChecker = HashTable.Find(3, out res);
            Console.WriteLine("Find value by key 3:");
            Console.WriteLine(res);
            Console.WriteLine(findChecker);

            Console.WriteLine(HashTable);
            Console.WriteLine("clear");
            HashTable.Clear();
            Console.WriteLine(HashTable);
            Console.WriteLine("----");
            Console.WriteLine("resize");

            for (int i = 0; i < 100; i++)
            {
                HashTable.Add(i, i.ToString());
            }

            Console.WriteLine(HashTable);
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            try
            {
                HashTable <string> wood = new HashTable <string>();

                wood.Add("береза");
                wood.Add("осина");
                wood.Add("сосна");
                wood.Add("ель");
                wood.Add("рябина");
                wood.Add("ольха");
                wood.Add("дуб");
                wood.Add("бук");
                wood.Add("липа");
                wood.Add("акация");

                Console.WriteLine(wood);
                Console.WriteLine("количество элементов =" + wood.Count);

                Console.WriteLine("Проверим на наличие элемента акация: " + wood.Contains("акация"));
                Console.WriteLine("Проверим на наличие элемента пихта: " + wood.Contains("пихта"));

                string[] arrayWood = new string[10];
                wood.CopyTo(arrayWood, 0);
                Console.WriteLine("Скопируем таблицу в массив получим: ");

                foreach (string e in arrayWood)
                {
                    Console.WriteLine(e);
                }

                wood.Remove("липа");
                Console.WriteLine("Удалим элемент липа получим: " + Environment.NewLine + wood);

                wood.Clear();
                Console.WriteLine("Очистим таблицу получим: " + wood);
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine(e.ToString());
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine(e.ToString());
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                Console.ReadKey();
            }
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Создаём таблицу.");
            HashTable <string> hashTable = new HashTable <string> {
                "A", "B", "C"
            };

            Console.WriteLine("Исходная таблица: " + hashTable);
            Console.WriteLine("Размер = {0}", hashTable.Count);
            Console.WriteLine();

            Console.WriteLine("Добавляем дубликат.");
            hashTable.Add("C");
            Console.WriteLine("Исходная таблица: " + hashTable);
            Console.WriteLine("Размер = {0}", hashTable.Count);
            Console.WriteLine();

            Console.WriteLine("Добавляем оригинальное значение.");
            hashTable.Add("D");
            Console.WriteLine("Исходная таблица: " + hashTable);
            Console.WriteLine("Размер = {0}", hashTable.Count);
            Console.WriteLine();

            Console.WriteLine("Удаляем D.");
            hashTable.Remove("D");
            Console.WriteLine("Исходная таблица: " + hashTable);
            Console.WriteLine("Размер = {0}", hashTable.Count);
            Console.WriteLine();

            Console.WriteLine("Таблица содержит D?");
            Console.WriteLine(hashTable.Contains("D") ? "Да" : "Нет");
            Console.WriteLine();

            Console.WriteLine("Очищаем таблицу.");
            hashTable.Clear();
            Console.WriteLine("Исходная таблица: " + hashTable);
            Console.WriteLine("Размер = {0}", hashTable.Count);
            Console.WriteLine();

            HashTable <int> hashTable1 = new HashTable <int> {
                1, 2, 3, 2
            };
            HashTable <int> hashTable2 = new HashTable <int> {
                1, 2, 3, 2
            };

            Console.WriteLine(hashTable1.Equals(hashTable2));

            Console.ReadKey();
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            HashTable <string> hashTable = new HashTable <string>(10);

            hashTable.Add("1");
            hashTable.Add("2");
            hashTable.Add(null);
            hashTable.Remove("2");

            hashTable.Clear();

            foreach (string item in hashTable)
            {
                Console.WriteLine(item);
            }
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            HashTable <int> hashTable = new HashTable <int>();

            hashTable.Add(31);
            hashTable.Add(72);
            hashTable.Add(17);
            hashTable.Add(3);
            hashTable.Add(8);
            hashTable.Add(14);

            Console.Write("HashTable before changes={ ");
            foreach (int element in hashTable)
            {
                Console.Write(element + " ");
            }
            Console.Write(" }");
            Console.WriteLine();

            HashTable <string> hashTable1 = new HashTable <string>();

            hashTable1.Add("s");
            hashTable1.Add("b");
            hashTable1.Add("c");
            hashTable1.Add("de");
            hashTable1.Add("e");

            Console.WriteLine(hashTable1.Contains(null));
            Console.WriteLine(hashTable1.Remove(null));


            hashTable1.Clear();

            Hashtable qwe = new Hashtable();

            qwe.Add(0, "A");
            qwe.Add(1, "B");
            qwe.Add(2, null);

            Console.WriteLine(qwe.Contains(2));
            qwe.Remove(2);
        }
        public static void Main()
        {
            HashTable<string, int> table = new HashTable<string, int>();

            table.Add("pesho", 1);
            table.Add("Radko", 3);
            table.Add("kiro", 56);
            table.Add("miro", 78);
            table.Add("sasa", 98);
            table.Add("jijo", 445);
            table.Add("Nikolay", 2);
            table.Add("Gecata", 34);
            table.Add("marto", 475);
            table.Add("gogo", 1);
            table.Add("tinkata", 69);
            table.Add("pedro", 0);
            table.Add("pesho", 2);
            table.Add("Radko", 3);

            Console.WriteLine(table.Find("jijo"));
            Console.WriteLine(table.Find("marto"));
            Console.WriteLine(table.Find("popov"));

            Console.WriteLine(table.Count);
            table.Remove("miro");
            Console.WriteLine(table.Count);

            Console.WriteLine(table["marto"]);
            table["marto"] = 600;
            Console.WriteLine(table["marto"]);
            table["nikitobe"] = 1989;
            Console.WriteLine(table["nikitobe"]);

            foreach (var elmnt in table)
            {
                Console.WriteLine(elmnt.Key);
            }

            table.Clear();
            Console.WriteLine(table.Count);
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            try
            {
                HashTable<string, int> hashTable = new HashTable<string, int>();

                hashTable.Add("pesho", 1);
                hashTable.Add("gosho", 5);
                hashTable.Add("misho", 2);
                hashTable.Add("sasho", 3);
                Console.WriteLine("Count is : {0}", hashTable.Count);

                hashTable.Remove("sasho");
                Console.WriteLine("Count is : {0}", hashTable.Count);

                Console.WriteLine(hashTable.Find("gosho"));
                Console.WriteLine(hashTable.Contains("gosho"));
                Console.WriteLine(hashTable["gosho"]);

                foreach (var item in hashTable)
                {
                    Console.WriteLine(item.Key + " -> " + item.Value);
                }

                for (int i = 0; i < 30; i++)
                {
                    hashTable.Add(i * 131 + "", i + 100);
                }
                Console.WriteLine("Count is : {0}", hashTable.Count);

                hashTable.Clear();
                Console.WriteLine("Count is : {0}", hashTable.Count);
                Console.WriteLine(hashTable.Find("gosho"));
            }
            catch (ArgumentException aex)
            {
                Console.WriteLine(aex.Message);
            }
        }
Esempio n. 11
0
        public static void Main()
        {
            // Create HashTable and add few elements.
            var hashtableTest = new HashTable<int, string>();
            hashtableTest.Add(1, "One");
            hashtableTest.Add(11, "Eleven");
            hashtableTest.Add(2, "Two");
            hashtableTest.Add(3, "Three");

            Console.WriteLine("---------- Test Find(1) ----------");
            Console.WriteLine(hashtableTest.Find(1));

            Console.WriteLine("\n---------- Test Remove(1) ----------");
            hashtableTest.Remove(1);

            Console.WriteLine("\n---------- Test Count() ----------");
            Console.WriteLine(hashtableTest.Count());

            Console.WriteLine("\n---------- Test get all Keys() and print ----------");
            var listOfKeys = hashtableTest.Keys();
            foreach (var item in listOfKeys)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\n---------- Test foreach ----------");
            foreach (var item in hashtableTest)
            {
                Console.WriteLine(item);
            }

            // If index is empty this will throw new NullReferenceException.
            Console.WriteLine("\n---------- Test this[0] ----------");
            Console.WriteLine(hashtableTest[2]);

            Console.WriteLine("\n---------- Test Clear() and print count ----------");
            hashtableTest.Clear();
            Console.WriteLine(hashtableTest.Count());
        }
        public static void Main()
        {
            var testHashtable = new HashTable<int, string>();
            testHashtable.Add(1, "hello");
            testHashtable.Add(2, "Bye");
            testHashtable.Add(3, "cat");
            testHashtable.Add(4, "dog");
            testHashtable.Add(5, "monkey");
            testHashtable.Add(6, "Luffy");
            testHashtable.Add(8, "eight");
            PrintingHashTable.Print(testHashtable);

            Console.WriteLine(testHashtable.ContainsKey(8));
            Console.WriteLine(new string('-', 50));

            Console.WriteLine(testHashtable.Find(6));
            Console.WriteLine(new string('-', 50));

            testHashtable.Remove(8);
            PrintingHashTable.Print(testHashtable);

            testHashtable.Clear();
            PrintingHashTable.Print(testHashtable);
        }
Esempio n. 13
0
        private static void BenchmarkTest()
        {
            var limit = int.MaxValue / 10752;

            var hs = new HashTable <string, int>();

            var addHs = new Stopwatch();

            addHs.Start();
            for (int i = 0; i < limit; i++)
            {
                hs.Add(i.ToString(), i);
            }
            addHs.Stop();

            var readHs = new Stopwatch();

            readHs.Start();
            foreach (var item in hs)
            {
                Console.WriteLine("{0} - {1}", item.Key, item.Value);
            }
            readHs.Stop();

            var delHs = new Stopwatch();

            delHs.Start();
            hs.Clear();
            delHs.Stop();

            hs = null;

            var dic = new Dictionary <string, int>();

            var addDic = new Stopwatch();

            addDic.Start();
            for (int i = 0; i < limit; i++)
            {
                dic.Add(i.ToString(), i);
            }
            addDic.Stop();

            var readDic = new Stopwatch();

            readDic.Start();
            foreach (var item in dic)
            {
                Console.WriteLine("{0} - {1}", item.Key, item.Value);
            }
            readDic.Stop();

            var delDic = new Stopwatch();

            delDic.Start();
            dic.Clear();
            delDic.Stop();

            dic = null;

            var csHs = new System.Collections.Hashtable();

            var addCsHs = new Stopwatch();

            addCsHs.Start();
            for (int i = 0; i < limit; i++)
            {
                csHs.Add(i, i);
            }
            addCsHs.Stop();

            var readCsHs = new Stopwatch();

            readCsHs.Start();
            foreach (System.Collections.DictionaryEntry item in csHs)
            {
                Console.WriteLine("{0} - {1}", item.Key, item.Value);
            }
            readCsHs.Stop();

            var delCsHs = new Stopwatch();

            delCsHs.Start();
            csHs.Clear();
            delCsHs.Stop();

            csHs = null;

            Console.WriteLine("HashTable vs. Dictionary vs C# HashTable");
            Console.WriteLine("Add - {0} - {1} - {2}", addHs.Elapsed.TotalSeconds, addDic.Elapsed.TotalSeconds, addCsHs.Elapsed.TotalSeconds);
            Console.WriteLine("Read - {0} - {1} - {2}", readHs.Elapsed.TotalSeconds, readDic.Elapsed.TotalSeconds, readCsHs.Elapsed.TotalSeconds);
            Console.WriteLine("Delete - {0} - {1} - {2}", delHs.Elapsed.TotalSeconds, delDic.Elapsed.TotalSeconds, delCsHs.Elapsed.TotalSeconds);
        }
Esempio n. 14
0
        static void Main(string[] args)
        {
            // начальные данные для теста
            string beginText = "Осенью имя рэпера часто упоминалось в отечественных СМИ СМИ";

            string[] beginArrayWords = beginText.Split(' ');

            //создание и заполнение хэш-таблицы
            HashTable <string> testHashTable = new HashTable <string>(beginArrayWords.Length);

            foreach (string word in beginArrayWords)
            {
                testHashTable.Add(word);
            }

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            // тестируем количество элементов
            Console.Write("Количество элементов: ");
            Console.WriteLine(testHashTable.Count);
            Console.WriteLine();

            //тестируем удаление элемента
            Console.WriteLine("удалим \"в\"");

            testHashTable.Remove("в");

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            Console.WriteLine("удалим отсутствующий элемент \"о\"");

            testHashTable.Remove("о");

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            //тестируем итератор
            Console.WriteLine("-=тестируем итератор=-");
            try
            {
                foreach (string element in testHashTable)
                {
                    Console.WriteLine(element);
                }
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine("-=тестируем исключение из итератора=-");
            try
            {
                foreach (string element in testHashTable)
                {
                    Console.WriteLine(element);
                    testHashTable.Remove(element);
                }
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.WriteLine();

            //тестируем копирование в массив
            Console.WriteLine("-=тестируем копирование в массив=-");

            string[] testArray = new string[testHashTable.Count];

            testHashTable.CopyTo(testArray, 0);

            foreach (string element in testArray)
            {
                Console.WriteLine(element);
            }

            Console.WriteLine();
            // тестируем исключения копирования в массив
            Console.WriteLine("-=тестируем исключения при копировании в массив=-");

            try
            {
                testHashTable.CopyTo(testArray, -1);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            string[] testArray1 = new string[testHashTable.Count - 1];
            try
            {
                testHashTable.CopyTo(testArray1, 0);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            string[] testArray2 = null;
            try
            {
                testHashTable.CopyTo(testArray2, 0);
            }
            catch (ArgumentNullException e1)
            {
                Console.WriteLine(e1.Message);
            }
            catch (ArgumentOutOfRangeException e2)
            {
                Console.WriteLine(e2.Message);
            }
            catch (ArgumentException e3)
            {
                Console.WriteLine(e3.Message);
            }

            Console.WriteLine();

            //тестируем очистку
            Console.WriteLine("очистка");

            testHashTable.Clear();

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            //тестируем на работы с null
            Console.WriteLine("-=тестируем на работы с null=-");

            Console.WriteLine();

            testHashTable.Add(null);
            testHashTable.Add(null);
            testHashTable.Add(null);

            Console.WriteLine(testHashTable);
            Console.WriteLine();

            testHashTable.Remove(null);

            Console.WriteLine(testHashTable);
            Console.WriteLine();
        }