Что такое Hash Map?
Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 27 из 66.
Представьте, что у вас есть бумажный словарь, в котором вы можете быстро найти любое слово, чтобы узнать его определение. Хеш-карта работает аналогичным образом — это структура данных, которая хранит информацию в виде пар «ключ-значение», позволяя быстро найти значение, указав связанный с ним ключ.
В Rust хеш-карта представлена типом HashMap<K, V>, где K — это тип ключей, а V — это тип значений. Например, у вас может быть хеш-карта, в которой имена студентов хранятся в качестве ключей, а результаты их тестов — в качестве значений, или названия стран в качестве ключей и их столицы в качестве значений.
// Пример концепции: имена студентов → баллы
// "Alice" → 95
// "Bob" → 87
// "Carol" → 92Основное преимущество хеш-таблиц — их скорость: они обеспечивают очень быстрый поиск, вставку и удаление. Когда вам нужно найти значение, вам не приходится перебирать каждый элемент, как в случае с вектором. Вместо этого хеш-таблица использует ключ, чтобы быстро определить точное местоположение, где хранится значение.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Шпаргалка
Хеш-карта — это структура данных, которая хранит информацию в виде пар «ключ-значение», что позволяет быстро находить данные по ключу.
В Rust хеш-карты представлены типом HashMap<K, V>, где K — это тип ключа, а V — тип значения.
// Пример: имена студентов → баллы
// "Alice" → 95
// "Bob" → 87
// "Carol" → 92Хеш-карты обеспечивают быстрый поиск, вставку и удаление без необходимости перебирать каждый элемент.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Logic & Flow
1Продвинутое управление потоком выполнения
Выражение 'match'Сопоставление нескольких значенийСопоставление диапазоновВыражение 'if let'Циклы как выраженияИтоги — Простой парсер команд4Группировка данных с помощью структур
Что такое структура?Обзор структурДоступ к полям структурыИзменяемые структурыСтруктуры как параметры функцийКортежные структурыИтоги: создание структуры Book7Обработка ошибок с помощью 'Result'
Что такое 'Result'?Использование 'match' с 'Result'is_ok() и is_err()Сокращения: unwrap и expectОператор вопросительного знака '?'Парсинг строк в числаИтоги: функция безопасного деления10Замыкания и анонимные функции
Что такое замыкание?Определение простого замыканияЗамыкания с параметрамиЗахват окруженияИтоги: Простое замыкание-сумматор2Введение в векторы
Что такое вектор?Создание вектораДобавление элементов с помощью pushДоступ к элементам вектораИтерация по векторуИзменяемая итерацияУдаление элементовИтоги — Простой счетчик очков5Пары «ключ-значение» в Hash Map
Что такое Hash Map?Создание Hash MapВставка пар «ключ-значение»Доступ к значениямИтерация по Hash MapОбновление значенияУдаление парыИтоги — Счетчик слов8Проект: Простой инвентарь товаров
Настройка проектаДобавление товараПроверка наличияПродажа товараСобираем всё воедино3Список дел в командной строке
Настройка проектаДобавление задачиПросмотр всех задачУдаление задачиИтоговый код6Обработка отсутствия значения с 'Option'
Что такое 'Option'?Использование 'match' с 'Option'is_some() и is_none()Распаковка 'Option'Метод expectЗначение по умолчанию: unwrap_orИтоги: поиск элемента