Exemple #1
0
        static void Main()
        {
            var bidict = new BiDictionary <string, int, string>(allowDuplicateValues: true);

            bidict.Add("pesho", 1, "JavaScript");
            bidict.Add("gosho", 2, "Java");
            bidict.Add("nakov", 3, "C#");
            bidict.Add("nakov", 3, "C#");
            bidict.Add("gosho", 3, "Coffee");
            bidict.Add("nakov", 1, "Python");

            Console.WriteLine(string.Join(" ", bidict.GetByFirstKey("nakov")));
            Console.WriteLine(string.Join(" ", bidict.GetBySecondKey(3)));
            Console.WriteLine(string.Join(" ", bidict.GetByFirstAndSecondKey("nakov", 3)));

            Console.WriteLine(bidict.Count);

            bidict.RemoveByFirstKey("gosho");
            Console.WriteLine(bidict.Count);

            bidict.RemoveBySecondKey(3);
            Console.WriteLine(bidict.Count);

            bidict.RemoveByFirstAndSecondKey("nakov", 1);
            Console.WriteLine(bidict.Count);
        }
Exemple #2
0
        public static void Main()
        {
            IBiDictionary <string, int, string> dictionaryPower = new BiDictionaryPC <string, int, string>();
            IBiDictionary <string, int, string> dictionary      = new BiDictionary <string, int, string>();

            ReadDataFromFile("../../input.txt", dictionaryPower);
            ReadDataFromFile("../../input.txt", dictionary);

            var searchByFirstKey  = dictionaryPower.SearchByFirstKey("Plovdiv");
            var searchByFirstKey1 = dictionary.SearchByFirstKey("Plovdiv");

            Console.WriteLine("Search by name:");
            Console.WriteLine(string.Join(", ", searchByFirstKey));
            Console.WriteLine();
            Console.WriteLine(string.Join(", ", searchByFirstKey1));

            var searchBySecondKey = dictionaryPower.SearchBySecondKey(23);

            Console.WriteLine("Search by age:");
            Console.WriteLine(string.Join(", ", searchBySecondKey));

            var serarchByTwoKeys  = dictionaryPower.SearchByTwoKeys("Plovdiv", 20);
            var serarchByTwoKeys1 = dictionary.SearchByTwoKeys("Plovdiv", 20);

            Console.WriteLine("Search by sity and age:");
            Console.WriteLine(string.Join(", ", serarchByTwoKeys));
            Console.WriteLine();
            Console.WriteLine(string.Join(", ", serarchByTwoKeys1));
        }
Exemple #3
0
        public static void Main()
        {
            var biDictionary = new BiDictionary <int, string, string>(true);

            // Test Add method
            biDictionary.Add(1, "One", "Duplicate");
            biDictionary.Add(1, "One", "Duplicate");
            biDictionary.Add(1, "Two", "From One");

            biDictionary.Add(2, "Two", "C#");
            biDictionary.Add(2, "Two-2", "Coffee");

            biDictionary.Add(3, "Three", "C#");
            biDictionary.Add(3, "Three-2", "Python");

            biDictionary.Add(4, "Four", "1");
            biDictionary.Add(4, "Four", "2");

            /* ---------------------------------------------- */

            // Test Get methods
            Console.WriteLine(string.Join(", ", biDictionary.GetByFirstKey(1)));
            Console.WriteLine(string.Join(", ", biDictionary.GetBySecondKey("Two")));
            Console.WriteLine(string.Join(", ", biDictionary.GetByTwoKeys(1, "One")));

            /* ---------------------------------------------- */

            // Test Value property
            PrintAllValues(biDictionary);

            /* ---------------------------------------------- */

            // Test - Remove by first key method
            biDictionary.RemoveByFirstKey(4);

            PrintAllValues(biDictionary);

            /* ---------------------------------------------- */

            // Test - Remove by second key method
            biDictionary.RemoveBySecondKey("Two");

            PrintAllValues(biDictionary);

            /* ---------------------------------------------- */

            // Test - Remove by two keys method
            biDictionary.RemoveByTwoKeys(1, "One");

            PrintAllValues(biDictionary);

            /* ---------------------------------------------- */

            // Test - Clear method
            biDictionary.Clear();

            PrintAllValues(biDictionary);
        }
Exemple #4
0
        public static void Main()
        {
            BiDictionary <int, int, string> biDict = new BiDictionary <int, int, string>();

            biDict.Add(1, 1, "First");
            biDict.Add(1, 2, "Second");
            biDict.Add(2, 1, "Third");
            Console.WriteLine();
        }
Exemple #5
0
        static void Main(string[] args)
        {
            BiDictionary <string, string, int> biDic = new BiDictionary <string, string, int>();

            biDic.Add("Samson", "Opeyemi", 21);
            biDic.Add("Samson", "Opeyemi", 30);
            biDic.Add("Samson", "Opeyemi", 40);
            biDic.Add("Samson", "Opeyemi", 666);

            Console.ReadKey();
        }
Exemple #6
0
        public static void Main()
        {
            var dictionary = new BiDictionary <int, string, string>(true);

            dictionary.Add(1, "1", "value 1");
            dictionary.Add(2, "2", "value 2");
            dictionary.Add(3, "3", "value 3");
            dictionary.Add(3, "3", "value 3.1");

            Console.WriteLine(string.Join(", ", dictionary.FindByFirstKey(1)));
            Console.WriteLine(string.Join(", ", dictionary.FindBySecondKey("2")));
            Console.WriteLine(string.Join(", ", dictionary.FindByBothKeys(3, "3")));
        }
        public static void Main()
        {
            BiDictionary <int, string, int> biDictionary = new BiDictionary <int, string, int>();

            AddRandomValues(biDictionary);

            var firstSearchResult  = biDictionary.Find(3);
            var secondSearchResult = biDictionary.Find("Key #" + 2);
            var thirdResult        = biDictionary.Find(2, "Key #" + 2);

            PrintResults(firstSearchResult);
            PrintResults(secondSearchResult);
            PrintResults(thirdResult);
        }
        static void Main(string[] args)
        {
            BiDictionary <int, int, int> myDictionary = new BiDictionary <int, int, int>();

            myDictionary.Add(1, 2, 11);
            myDictionary.Add(1, 2, 11);
            myDictionary.Add(1, 2, 22);
            myDictionary.Add(1, 2, 33);
            myDictionary.Add(1, 2, 44);

            foreach (int i in myDictionary.FindByBothKeys(1, 2))
            {
                Console.WriteLine(i);
            }
        }
Exemple #9
0
        static void Main()
        {
            var bi = new BiDictionary <string, int, string>();

            bi.Add("key1", 1, "value11");
            bi.Add("key1", 2, "value12");
            bi.Add("key1", 3, "value13");
            bi.Add("key2", 1, "value21");
            bi.Add("key2", 2, "value22");
            bi.Add("key2", 3, "value23");

            Console.WriteLine(bi.FindByFirstKey("key1"));

            Console.WriteLine(bi.FindBySecondKey(1));

            Console.WriteLine(bi.FindByBothKeys("key1", 3));
        }
        static void Main()
        {
            var distances = new BiDictionary <string, string, int>();

            distances.Add("Sofia", "Varna", 443);
            distances.Add("Sofia", "Varna", 468);
            distances.Add("Sofia", "Varna", 490);
            distances.Add("Sofia", "Plovdiv", 145);
            distances.Add("Sofia", "Bourgas", 383);
            distances.Add("Plovdiv", "Bourgas", 253);
            distances.Add("Plovdiv", "Bourgas", 292);

            var distancesFromSofia = distances.FindByKey1("Sofia"); // [443, 468, 490, 145, 383]

            Console.WriteLine("Find by first key \"Sofia\" should be [443, 468, 490, 145, 383]\n" + Print(distancesFromSofia));

            var distancesToBourgas = distances.FindByKey2("Bourgas"); // [383, 253, 292]

            Console.WriteLine("Find by second key \"Bourgas\" should be [383, 253, 292]\n" + Print(distancesToBourgas));

            var distancesPlovdivBourgas = distances.Find("Plovdiv", "Bourgas"); // [253, 292]

            Console.WriteLine("Find by keys \"Plovdiv\" and \"Bourgas\" should be [253, 292]\n" + Print(distancesPlovdivBourgas));

            var distancesRousseVarna = distances.Find("Rousse", "Varna"); // []

            Console.WriteLine("Find by keys \"Rousse\" and \"Varna\" should be []\n" + Print(distancesRousseVarna));

            var distancesSofiaVarna = distances.Find("Sofia", "Varna"); // [443, 468, 490]

            Console.WriteLine("Find by keys \"Sofia\" and \"Varna\" should be [443, 468, 490]\n" + Print(distancesSofiaVarna));

            distances.Remove("Sofia", "Varna");                          // true

            var distancesFromSofiaAgain = distances.FindByKey1("Sofia"); // [145, 383]

            Console.WriteLine("Find by first key \"Sofia\" should be [145, 383]\n" + Print(distancesFromSofiaAgain));

            var distancesToVarna = distances.FindByKey2("Varna"); // []

            Console.WriteLine("Find by second key \"Varna\" should be []\n" + Print(distancesToVarna));

            var distancesSofiaVarnaAgain = distances.Find("Sofia", "Varna"); // []

            Console.WriteLine("Find by keys \"Sofia\" and \"Varna\" should be []\n" + Print(distancesSofiaVarnaAgain));
        }
        static void Main(string[] args)
        {
            BiDictionary <string, int, string> collection = new BiDictionary <string, int, string>();

            collection.Add("Pesho", 1, "Zagorka");
            collection.Add("Mincho", 2, "Astika");
            collection.Add("Minka", 2, "Grozde");
            collection.Add("Gosho", 1, "Heineken");
            collection.Add("Pesho", 3, "HB");
            collection.Add("Doncho", 1, "Dubel");

            var find = collection.FindBySecondKey(1);

            foreach (var item in find)
            {
                Console.WriteLine(item);
            }
        }
 private static void AddRandomValues(BiDictionary <int, string, int> biDictionary)
 {
     for (int i = 0; i < 50; i++)
     {
         if (i % 3 == 0)
         {
             biDictionary.Add(i, i);
         }
         else if (i % 3 == 1)
         {
             biDictionary.Add("Key #" + i, i);
         }
         else
         {
             biDictionary.Add(i, "Key #" + i, i);
         }
     }
 }
Exemple #13
0
        public static void Main(string[] args)
        {
            BiDictionary <int, string, string> dictionary = new BiDictionary <int, string, string>();
            var key1 = 1;
            var key2 = "abra";

            dictionary.Add(key1, key2, "valid keys 1");
            dictionary.Add(key1 + 1, "#00", "valid keys 2");
            Console.WriteLine("==========Find(key1)==========");
            Console.WriteLine(dictionary.Find(key1));
            Console.WriteLine("==========Find(key2)==========");
            Console.WriteLine(dictionary.Find(key2));
            Console.WriteLine("==========Find(key1, key2)==========");
            Console.WriteLine(dictionary.Find(key1, key2));
            var key3 = 1;
            var key4 = "4";

            dictionary.Add(key3, key4, "default value INVALID");
        }
Exemple #14
0
        public static void Main()
        {
            var biDi = new BiDictionary <string, string, string>();

            biDi.Add("Pesho", "Peshov", "*****@*****.**");
            biDi.Add("Gosho", "Goshov", "*****@*****.**");
            biDi.Add("Tosho", "Toshov", "*****@*****.**");

            var pesho = biDi.FindByKey1("Pesho");

            Console.WriteLine(pesho);

            var gosho = biDi.FindByKey2("Goshov");

            Console.WriteLine(gosho);

            var tosho = biDi.FindByTwoKeys("Tosho", "Toshov");

            Console.WriteLine(tosho);
        }
Exemple #15
0
        private static void Main()
        {
            var biDict = new BiDictionary <int, string, string>();

            biDict.Add(100, "kila", "rakia");
            biDict.Add(200, "jeni", "da imam");
            biDict.Add(300, "noshti", "nagradeni");
            biDict.Add(100, "kila", "ciganin");
            biDict.Add(200, "grozdova", "rakia");

            var filteredByKey1 = biDict.FindByFirstKey(100);

            Console.WriteLine(string.Join(", ", filteredByKey1));

            var filteredByKey2 = biDict.FindBySecondKey("kila");

            Console.WriteLine(string.Join(", ", filteredByKey2));

            var filteredByBothKeys = biDict.FindByBothKeys(100, "kila");

            Console.WriteLine(string.Join(", ", filteredByKey1));
        }
Exemple #16
0
        public static void Main()
        {
            var biDictionary = new BiDictionary <int, int, string>();

            biDictionary.Add(1, 1, "Value 1")
            .Add(1, 2, "Value 2")
            .Add(1, 3, "Value 3")
            .Add(2, 1, "Value 4")
            .Add(2, 2, "Value 5")
            .Add(2, 3, "Value 6")
            .Add(3, 3, "Value 7")
            .Add(3, 4, "Value 8")
            .Add(3, 5, "Value 9")
            .Add(2, 1, "Value 10");

            var xKey = 2;

            Console.WriteLine("Values with keyX = {0} :\n\r {1}", xKey, string.Join(Environment.NewLine + " ", biDictionary.FindByXKey(xKey)));
            var yKey = 1;

            Console.WriteLine("Values with keyY = {0} :\n\r {1}", yKey, string.Join(Environment.NewLine + " ", biDictionary.FindByYKey(yKey)));
            Console.WriteLine("Values with keyX = {0} and keyY = {1} :\n\r {2}", xKey, yKey, string.Join(Environment.NewLine + " ", biDictionary.Find(xKey, yKey)));
        }