Основниоперации с класа Dictionary Създаването на хеш-таблица става чрез извикването на някои от конструкторите на Dictionary. Чрез тях можем да зададем начални стойности за капацитет и максимална степен на запълване. Добре е, ако предварително знаем приблизителният брой на елементите, които ще бъдат добавени в нашата хеш-таблица, да го укажем още при създаването й. Така ще избегнем излишното разширяване на таблицата и ще постигнем по-добра ефективност. По подразбиране стойността на началния капацитет е 16, а на максималната степен на запълване е 0.75.
Да разгледаме какво прави всеки един от методите реализирани в класа Dictionary:
- void Add(K, V) добавя нова стойност за даден ключ. При опит за добавяне на ключ, който вече съществува в речника, се хвърля изключение. Операцията работи изключително бързо.
- bool TryGetValue(K, out V) връща елемент от тип V чрез out параметър за дадения ключ или null, ако няма елемент с такъв ключ. Резултатът от изпълнението на метода е true ако е намерен елемент. Операцията е много бърза, тъй като алгоритъмът за търсене на елемент по ключ в хеш-таблица се доближава по сложност до O(1)
- bool Remove(K) изтрива от речника елемента с този ключ. Операцията работи изключително бързо.
- void Clear() премахва всички елементи от речника.
- bool ContainsKey(K) проверява дали в речника присъства наредена двойка с посочения ключ. Операцията работи изключително бързо.
- bool ContainsValue(V) проверява дали в речникa присъстват една или повече наредени двойки с посочената стойност. Тази операция работи бавно, тъй като проверява всеки елемент на хеш-таблицата.
- int Count връща броя на наредените двойки в речника.
- Други операции – например извличане на всички ключове, стойности или наредени двойки в структура, която може да бъде обходена чрез цикъл.