logo CodeStepByStep logo

CollectionMystery4

Language/Type: C# collection mystery collections

Write the output that is printed when the given method below is passed each of the following dictionaries and lists as its parameters. Recall that dictionaries print in a {{key1, value1}, {key2, value2}, ..., {keyN, valueN}} format.

Though dictionaries usually have unpredictable ordering, for this problem, you should assume that when looping over the dictionary or printing a dictionary, it visits the keys in the order that they were added to the dictionary in the order they are declared below. If a dictionary adds a key that already exists, it retains its current position in the ordering.

public static void CollectionMystery4(Dictionary<string, string> dict, List<string> list)
{
    Dictionary<string, string> result = new Dictionary<string, string>();
    for (int i = 0; i < list.Count; i++)
    {
        string s = list[i];
        if (result.ContainsKey(s))
        {
            result[s] = result[s] + result[s];
        }
        else if (dict.ContainsKey(s))
        {
            result[dict[s]] = s;
        }
    }
    Console.WriteLine(result);
}
dict = {{"Marty", "Stepp"}, {"Cynthia", "Lee"}, {"Keith", "Schwarz"}, {"Bruce", "Lee"}, {"Mehran", "Sahami"}}; list = {"Cynthia", "Bruce", "Lee", "Eric", "Schwarz", "Keith", "Sahami"}
dict = {{"dog", "woof"}, {"cat", "meow"}, {"horse", "whinny"}, {"frog", "ribbit"}, {"duck", "dog"}}; list = {"dog", "horse", "dog", "woof", "meow", "cat", "meow", "woof"}

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.