Sobes.tech
Junior

Можеш ли да обясниш разликите между List, Set и Map и в кои случаи трябва да ги използваме?

sobes.tech AI

Отговор от AI

List - подредена колекция, която позволява дублиране. Елементите са достъпни по индекс.

Set - неупорядочена колекция от уникални елементи. Не позволява дублиране.

Map - колекция от двойки "ключ-стойност", където всеки ключ е уникален. Елементите са достъпни по ключ.

Таблица за сравнение:

Характеристика List Set Map
Подредба Да Не В реда на добавяне (не винаги)
Дублиране Позволено Не позволява Ключовете са уникални, стойностите могат да се повтарят
Достъп По индекс Чрез итерация По ключ
  • Използване:
    • List: Когато редът на елементите е важен и могат да има дубли (например списък с покупки, история на транзакции).
    • Set: Когато е необходима колекция от уникални елементи и редът не е важен (например, множество от уникални потребители, списък с уникални тагове).
    • Map: Когато трябва да съхранявате данни като двойки "ключ-стойност" и бързо да получавате стойност по ключ (например, речник, настройки на приложението).

Пример:

// List
val shoppingList = listOf("ябълка", "банан", "ябълка")
println(shoppingList[0]) // ябълка

// Set
val uniqueFruits = setOf("ябълка", "банан", "ябълка")
println(uniqueFruits.size) // 2 (ябълката се появява само веднъж)

// Map
val userAges = mapOf("Алиса" to 30, "Боби" to 25)
println(userAges["Алиса"]) // 30