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