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.
Setavtomatik ravishda har bir element kolleksiyada faqat bir marta mavjud bo‘lishini ta’minlaydi. - Elementning mavjudligini tekshirishda yuqori samaradorlik.
Setdagicontains(_:)operatsiyasi o‘rtacha amortizatsiya qilingan O(1) murakkablikka ega,Arrayda esa bu O(n). - Elementlarning tartibi muhim emas.
Arraydan farqli o‘laroq,Seto‘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 uchunArrayga 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)