Difference between revisions of "Dictionaries"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Expanded definition slightly....)
Line 1: Line 1:
{{Need_Expanding}}
 
 
==Definition==
 
==Definition==
A dictionary stores a series of Key / Value pairs. The values are aligned with the keys so calling for a key will return the value.  
+
A dictionary is a general-purpose data structure for storing a group of objects. A dictionary has a set of keys and each key has a single associated value. When presented with a key, the dictionary will return the associated value. Dictionaries are special lists, whereas every value in the list has a key which is also a variable. A good example for a dictionary is a phone book.
This is very useful if you have a lot of values that you need to weed though to get a value or if you constantly change a value in a line of values.
+
<b> Declaring & Adding to the Dictionary </b>
 +
Dictionary<string, long> phonebook = new Dictionary<string, long>();
 +
phonebook.Add("Alex", 4154346543);
 +
phonebook["Jessica"] = 4159484588;
 +
 
 +
Notice that when defining a dictionary, we need to provide a generic definition with two types - the type of the key and the type of the value. In this case, the key is a string whereas the value is an integer.
 +
There are also two ways of adding a single value to the dictionary, either using the brackets operator or using the Add method.
 +
<b> Checking for a key </b>
 +
To check whether a dictionary has a certain key in it, we can use the ContainsKey method:
 +
Dictionary<string, long> phonebook = new Dictionary<string, long>();
 +
phonebook.Add("Alex", 415434543);
 +
phonebook["Jessica"] = 415984588;
 +
 
 +
if (phonebook.ContainsKey("Alex"))
 +
{
 +
    Console.WriteLine("Alex's number is " + phonebook["Alex"]);
 +
}
 +
<b> Removing a key/value pair </b>
 +
To remove an item from a dictionary, we can use the Remove method. Removing an item from a dictionary by its key is fast and very efficient. When removing an item from a List using its value, the process is slow and inefficient, unlike the dictionary Remove function.
 +
Dictionary<string, long> phonebook = new Dictionary<string, long>();
 +
phonebook.Add("Alex", 415434543);
 +
phonebook["Jessica"] = 415984588;
 +
 
 +
phonebook.Remove("Jessica");
 +
Console.WriteLine(phonebook.Count);

Revision as of 11:47, 15 May 2017

Definition

A dictionary is a general-purpose data structure for storing a group of objects. A dictionary has a set of keys and each key has a single associated value. When presented with a key, the dictionary will return the associated value. Dictionaries are special lists, whereas every value in the list has a key which is also a variable. A good example for a dictionary is a phone book. Declaring & Adding to the Dictionary Dictionary<string, long> phonebook = new Dictionary<string, long>(); phonebook.Add("Alex", 4154346543); phonebook["Jessica"] = 4159484588;

Notice that when defining a dictionary, we need to provide a generic definition with two types - the type of the key and the type of the value. In this case, the key is a string whereas the value is an integer. There are also two ways of adding a single value to the dictionary, either using the brackets operator or using the Add method. Checking for a key To check whether a dictionary has a certain key in it, we can use the ContainsKey method: Dictionary<string, long> phonebook = new Dictionary<string, long>(); phonebook.Add("Alex", 415434543); phonebook["Jessica"] = 415984588;

if (phonebook.ContainsKey("Alex")) {

   Console.WriteLine("Alex's number is " + phonebook["Alex"]);

} Removing a key/value pair To remove an item from a dictionary, we can use the Remove method. Removing an item from a dictionary by its key is fast and very efficient. When removing an item from a List using its value, the process is slow and inefficient, unlike the dictionary Remove function. Dictionary<string, long> phonebook = new Dictionary<string, long>(); phonebook.Add("Alex", 415434543); phonebook["Jessica"] = 415984588;

phonebook.Remove("Jessica"); Console.WriteLine(phonebook.Count);