Назад к вопросам
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