Kotlin hangi koleksiyon türlerini destekliyor?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin, Java Collection Framework'ün standart koleksiyon türlerini destekler ve ayrıca kendi kullanışlı genişletmeleri ve arayüzleri sağlar.
Kotlin'deki temel koleksiyon arayüzleri:
Collection<out E>: Değiştirilemez koleksiyonlar için temel arayüz.MutableCollection<E>: Değiştirilebilir koleksiyonlar için arayüz.List<out E>: Sıralı erişime sahip değiştirilemez koleksiyonlar için arayüz.MutableList<E>: Sıralı erişime sahip değiştirilebilir koleksiyonlar için arayüz.Set<out E>: Belirli bir sırası olmayan benzersiz öğelerden oluşan değiştirilemez koleksiyonlar için arayüz.MutableSet<E>: Belirli bir sırası olmayan benzersiz öğelerden oluşan değiştirilebilir koleksiyonlar için arayüz.Map<K, out V>: Değiştirilmez anahtar-değer çiftleri koleksiyonu için arayüz.MutableMap<K, V>: Değiştirilebilir anahtar-değer çiftleri koleksiyonu için arayüz.
Kotlin standart kütüphanesindeki temel koleksiyon uygulamaları (sık kullanılan yapıcı fonksiyonlar):
ArrayList: Diziye dayalı değiştirilebilir liste.LinkedList: Bağlı listeye dayalı değiştirilebilir liste.HashSet: Hash tabanlı değiştirilebilir küme.LinkedHashSet: Hash tabanlı ve bağlı listeye dayalı değiştirilebilir küme (ekleme sırasını korur).HashMap: Hash tabanlı değiştirilebilir harita.LinkedHashMap: Hash tabanlı ve bağlı listeye dayalı değiştirilebilir harita (ekleme sırasını korur).
Koleksiyonlar oluşturma örnekleri:
// Değiştirilmez liste
val immutableList = listOf("a", "b", "c")
// Değiştirilebilir liste
val mutableList = mutableListOf(1, 2, 3)
// Değiştirilmez küme
val immutableSet = setOf("apple", "banana")
// Değiştirilebilir küme
val mutableSet = mutableSetOf(10, 20, 30)
// Değiştirilmez harita
val immutableMap = mapOf("key1" to "value1", "key2" to "value2")
// Değiştirilebilir harita
val mutableMap = mutableMapOf("a" to 1, "b" to 2)
Değiştirilebilir (Mutable*) ve değiştirilemez (*) koleksiyonlar arasındaki temel fark, değiştirilebilir koleksiyonların öğeleri ekleme, kaldırma ve değiştirme yöntemleri sunması, değiştirilemez koleksiyonların ise bu işlemleri yapmamasıdır. Yapıcı fonksiyonlar listOf, setOf, mapOf değiştirilemez koleksiyonlar oluşturur, mutableListOf, mutableSetOf, mutableMapOf ise değiştirilebilir koleksiyonlar oluşturur.
Kotlin'de koleksiyonların kullanımı avantajları:
- Güvenlik: Değiştirilemez koleksiyonlar varsayılan olarak beklenmedik değişiklikleri önlemeye yardımcı olur.
- Genişletmeler: Kotlin, koleksiyonlarla çalışmak için birçok kullanışlı genişletme fonksiyonu sağlar (
filter,map,forEachvb.). - Uyumluluk: Java Collection Framework'ü kullanan mevcut Java kodlarıyla kolayca çalışılabilir.