Назад к вопросам
Junior
66
questionbank
Можешь рассказать об отличиях между List, Set и Map, а также в каких случаях их следует использовать?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
List - упорядоченная коллекция, допускающая дубликаты. Элементы доступны по индексу.
Set - неупорядоченная коллекция уникальных элементов. Не допускает дубликаты.
Map - коллекция пар "ключ-значение", где каждый ключ уникален. Элементы доступны по ключу.
Таблица сравнения:
| Признак | List | Set | Map |
|---|---|---|---|
| Упорядоченность | Да | Нет | По порядку добавления (не всегда) |
| Дубликаты | Допускает | Не допускает | Ключи уникальны, значения могут дублироваться |
| Доступ | По индексу | Перебор | По ключу |
- Использование:
List: Когда важен порядок элементов, и могут быть дубликаты (например, список покупок, история транзакций).Set: Когда нужна коллекция уникальных элементов и не важен порядок (например, множество уникальных пользователей, список уникальных тегов).Map: Когда нужно хранить данные в виде пар "ключ-значение" и быстро получать значение по ключу (например, словарь, настройки приложения).
Пример:
// List
val shoppingList = listOf("apple", "banana", "apple")
println(shoppingList[0]) // apple
// Set
val uniqueFruits = setOf("apple", "banana", "apple")
println(uniqueFruits.size) // 2 (apple присутствует только один раз)
// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30