На этом уроке мы поработаем с Hashtable - каким именно образом в неё складываются значения и почему она будет работать, даже если хеш-функция вернёт одинаковые значения. Также мы увидим, что порядок элементов путается, а сами значения хранятся в очень хитром виде. В конце урока мы сделаем всё то же самое с гибридным классом. Самостоятельное задание: сравнить скорость работы этих коллекций. 1 этап: создать МНОГО коллекций по 8 и по 9 элементов (ОТДЕЛЬНО). 2 этап: создать ОДНУ коллекцию из ОГРОМНОГО количества элементов. Подвести итоги и в отчёте написать вывод.
Дата отправки отчёта:
2 мая 2016 г.
Задание выполнено: за
25 мин.
Чему научился:
"Попробовал" Hashtable и HybridDictionary.
Научился: Узнал про HibrydDictionary. И понял как работает HashTable и для чего он нужен Трудности: --------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------
Научился: Познакомился и немного поработал с ListDictionary, Hashtable, HybridDictionary Трудности: Понять, что такое хэш Результаты измерений:
1. Создание коллекций трех вышеперечисленных типов, добавление в каждую по 8 элементов,
повторение 10000000 раз
ListDictionary 2663мс
Hashtable 5159мс
HybridDictionary 2879мс
Ожидаемо в таких условиях ListDictionary быстрее, поскольку элементов немного, HybridDictionary совсем немного отстает.
2. Создание коллекций каждого из трех, добавление в каждую по 100000 элементов,
ListDictionary 27010мс
Hashtable 11мс
HybridDictionary 5мс
Вывод - ListDictionary совершенно не подходит для работы с большим количеством элементов, типы с хешированием вне конкуренции. Особенно радует HybridDictionary своей универсальностью.
Отличный урок!