Junior
108
questionbank
Почему мы используем Dictionary, если у нас есть List?
Answer from AI
sobes.tech AI
Dictionary предоставляет доступ к элементам по ключу (O(1) в среднем case), тогда как List требует перебора (O(n) для поиска элемента по значению).
| Признак | List<T> | Dictionary<TKey, TValue> |
|---|---|---|
| Доступ | По индексу (O(1)) | По ключу (O(1) в среднем) |
| Поиск по значению | Перебор (O(n)) | Перебор пар KeyValuePair (O(n)) |
| Назначение | Упорядоченная коллекция | Коллекция пар "ключ-значение" |
| Хранение | Значения | Пары ключ-значение |
Пример использования List:
// Хранение списка имен
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");
Пример использования Dictionary:
// Хранение возраста по имени
Dictionary<string, int> ages = new Dictionary<string, int>();
ages.Add("Alice", 30);
ages.Add("Bob", 25);
int aliceAge = ages["Alice"]; // Быстрый доступ по ключу