Sobes.tech
Junior

Qachon Set o'rniga Array ishlatish kerak?

sobes.tech AI

AIdan javob

Set quyidagi hollarda ishlatilishi kerak:

  • Faqat noyob elementlarni saqlash zarurati bo'lsa. Set avtomatik ravishda har bir element kolleksiyada faqat bir marta mavjud bo‘lishini ta’minlaydi.
  • Elementning mavjudligini tekshirishda yuqori samaradorlik. Setdagi contains(_:) operatsiyasi o‘rtacha amortizatsiya qilingan O(1) murakkablikka ega, Arrayda esa bu O(n).
  • Elementlarning tartibi muhim emas. Arraydan farqli o‘laroq, Set o‘z elementlarini ro‘yxatga olishda aniq tartibni kafolatlamaydi.
  • Tez-tez qo‘shish, o‘chirish va mavjudligini tekshirish operatsiyalari talab qilinadi. Bu operatsiyalar Setda odatda katta kolleksiyalar uchun Arrayga qaraganda samaraliroq bo‘ladi, agar tartib muhim bo‘lmasa va noyoblik talab qilinsa.

Qidiruvdagi farqni ko‘rsatadigan kod misoli:

// Array
let array = [1, 2, 3, 4, 5]
let element = 5

// Arrayda qidirish - chiziqli qidirish (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Setda qidirish - xeshlash (o‘rtacha O(1))
let isPresentInSet = set.contains(element)