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