Junior — Middle
Kotlin'da Set interfeysini amalga oshirishning qanday usullari mavjud va ular qanday farq qiladi?
sobes.tech AI
AIdan javob
Kotlin'da Set interfeysi bir neçə şəkildə həyata keçirilmişdir, bunlar mutability və daxili həyata keçirmə baxımından fərqlənir:
- Set — dəyişməz (yalnız oxumaq üçün) çoxluq üçün interfeysdir. O, oxuma əməliyyatları təmin edir, lakin dəyişdirmə əməliyyatları üçün deyil.
- MutableSet — Set-i genişləndirir və çoxluğun dəyişdirilməsi üçün metodlar əlavə edir (element əlavə etmək, silmək).
Həyata keçirmələr:
- HashSet — hash cədvəl üzərində qurulmuşdur, sürətli giriş və əlavə/sil əməliyyatları təmin edir. Elementlərin sırası təmin edilmir.
- LinkedHashSet — HashSet-dən irsən, elementlərin daxil edilmə sırasını saxlayır.
- SortedSet / TreeSet (Java vasitəsilə) — elementləri təbii sıra və ya müqayisəçi əsasında sıralanmış çoxluq.
Nümunə:
val readOnlySet: Set<Int> = setOf(1, 2, 3)
val mutableSet: MutableSet<Int> = mutableSetOf(1, 2, 3)
mutableSet.add(4) // icazə verilir
// readOnlySet.add(4) // tərtib səhvi
Beləliklə, həyata keçirmənin seçimi dəyişməzlik və elementlərin sırası tələblərinə əsaslanır.