Sobes.tech
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.