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