Sobes.tech
Junior

Hansı hallarda Array yerinə Set istifadə edilməlidir?

sobes.tech Süni İntellekt

AI-dan cavab

Set, aşağıdakı aspektlar vacibdirsə, istifadə edilməlidir:

  • Elementlərin unikal olması: Set təbiətinə görə təkrarlanan elementlərə icazə vermir. Əgər unikal dəyərlər toplusuna ehtiyacınız varsa, Array əlavə loqika tələb edəcək.
  • İştirakın yoxlanması əməliyyatlarında yüksək performans: Set-də müəyyən bir elementin olub-olmadığını yoxlamaq orta hesabla O(1) (amortizasiya olunmuş) mürəkkəbliyə malikdir, Array üçün isə bu O(n)-dir.
  • Əlavə və silmə əməliyyatlarında yüksək performans: Set-də elementin dəyərinə görə əlavə və silmə əməliyyatları ümumiyyətlə, O(1)-ə yaxın orta mürəkkəbliyə malikdir, Array üçün isə bu, O(n) ola bilər, xüsusən də əlavə/silme sonuna yaxın olmayan hallarda.
  • Elementlərin ardıcıllığını saxlamağa ehtiyac yoxdur: Set heç bir xüsusi ardıcıllığı təmin etmir. Əgər ardıcıllıq vacibdirsə, Array istifadə edin.

Set-lərin tipik istifadə halları:

  • Unikal identifikatorların toplusunu saxlamaq.
  • Kolleksiyadan təkrarlananları filtrləmək.
  • Birlik, kəsişmə və fərq kimi toplu əməliyyatları səmərəli yerinə yetirmək.
  • Elementin kolleksiyada olub-olmadığını sürətlə yoxlamaq.

Set istifadə edərək massivdən unikal elementləri alma nümunəsi:

let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - ardıcıllıq təmin edilmir