Junior — Middle
Kotlin'de Set arayüzünün uygulanma yolları nelerdir ve bunlar nasıl farklılık gösterir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de Set arayüzü, değiştirilebilirlik ve iç uygulama açısından farklı şekillerde uygulanmıştır:
- Set — sadece okunabilir olan değiştirilemez bir küme arayüzüdür. Okuma işlemleri sağlar, ancak değiştirme işlemleri sağlamaz.
- MutableSet — Set'i genişletir ve kümenin değiştirilmesine olanak tanıyan yöntemler ekler (öğe ekleme, kaldırma).
Uygulamalar:
- HashSet — bir hash tabanlıdır, hızlı erişim ve ekleme/kaldırma işlemleri sağlar. Öğelerin sırası garanti edilmez.
- LinkedHashSet — HashSet'ten miras alır, ekleme sırasını korur.
- SortedSet / TreeSet (Java üzerinden) — öğeleri doğal sıralama veya karşılaştırıcıya göre sıralanmış küme.
Örnek:
val readOnlySet: Set<Int> = setOf(1, 2, 3)
val mutableSet: MutableSet<Int> = mutableSetOf(1, 2, 3)
mutableSet.add(4) // izin verilir
// readOnlySet.add(4) // derleme hatası
Dolayısıyla, uygulama seçimi, değiştirilebilirlik ve öğelerin sırası gereksinimlerine bağlıdır.