Kotlin, liste oluşturmanın çeşitli yollarını sunar; her birinin kendine özgü güçlü ve zayıf yönleri vardır. Etkin ve sürdürülebilir kod yazmak için doğru yaklaşımı seçmek çok önemlidir. Bu kılavuz, hem değiştirilemez hem de değiştirilebilir listeleri başlatmanın en yaygın yöntemlerini ele alarak, en iyi uygulamaları vurgulayacaktır.
İçerik Tablosu
- Değiştirilemez Listeler Oluşturma
- Değiştirilebilir Listeler Oluşturma
- Değiştirilemez ve Değiştirilebilir Listeler Arasından Seçim Yapma
Değiştirilemez Listeler Oluşturma
Değiştirilemez listeler, oluşturulduktan sonra değiştirilemez. Bu özellik, iş parçacığı güvenliği ve öngörülebilirlik açısından önemli avantajlar sunar ve onları birçok senaryo için ideal hale getirir. Kotlin, değiştirilemez listeler oluşturmanın birkaç özlü yolunu sağlar:
listOf()
Kullanımı
En basit ve en yaygın yaklaşım, listOf()
fonksiyonunu kullanmaktır. Listenin türünü, sağlanan ögelerden çıkarım yapar:
val numbers = listOf(1, 2, 3, 4, 5)
println(numbers) // Çıktı: [1, 2, 3, 4, 5]
val mixed = listOf("elma", 1, 3.14) // Karma türlere izin verilir
println(mixed) // Çıktı: [elma, 1, 3.14]
val emptyList = listOf() // Boş listeler için açık tür önerilir
println(emptyList) // Çıktı: []
Değiştirilemez bir listeyi değiştirme girişimi (örneğin, numbers.add(6)
kullanarak) derleme zamanı hatasına neden olacaktır.
emptyList()
Kullanımı
Boş bir değiştirilemez liste oluşturmak için emptyList()
kullanın. Açıkça tür belirtmek, netlik ve tür güvenliği için iyi bir uygulamadır:
val emptyStringList = emptyList()
println(emptyStringList) // Çıktı: []
Dizilerden Listeler Oluşturma
Mevcut bir diziyi, toList()
fonksiyonunu kullanarak değiştirilemez bir listeye dönüştürebilirsiniz:
val array = arrayOf(10, 20, 30)
val listFromArray = array.toList()
println(listFromArray) // Çıktı: [10, 20, 30]
Değiştirilebilir Listeler Oluşturma
Değiştirilebilir listeler, oluşturulduktan sonra değişikliklere izin verir ve dinamik güncellemelerin gerekli olduğu senaryolar için esneklik sağlar. Ancak, bu esnekliğin, potansiyel yan etkileri ve iş parçacığı güvenliği sorunlarını yönetme sorumluluğu ile birlikte geldiğini unutmayın.
mutableListOf()
Kullanımı
Değiştirilebilir bir liste oluşturmanın en kolay yolu mutableListOf()
kullanmaktır. Tür çıkarımı, listOf()
ile aynı şekilde çalışır:
val mutableNumbers = mutableListOf(1, 2, 3)
mutableNumbers.add(4)
mutableNumbers.remove(2)
println(mutableNumbers) // Çıktı: [1, 3, 4]
val mutableEmptyList = mutableListOf()
println(mutableEmptyList) // Çıktı: []
ArrayList()
Kullanımı
ArrayList
, değiştirilebilir bir listenin yaygın bir uygulamasıdır. Türü belirterek açıkça oluşturabilir veya derleyicinin çıkarım yapmasına izin verebilirsiniz:
val arrayList = ArrayList()
arrayList.add("Kotlin")
arrayList.add("eğlenceli")
arrayList.add("dir")
println(arrayList) // Çıktı: [Kotlin, eğlenceli, dir]
val arrayList2 = ArrayList(listOf("a", "b", "c")) // Mevcut koleksiyonla başlatın
println(arrayList2) // Çıktı: [a, b, c]
Mevcut Koleksiyonların Değiştirilebilir Kopyalarını Oluşturma
Mevcut bir değiştirilemez koleksiyonun değiştirilebilir bir kopyasını oluşturmak için, yayılma operatörüyle mutableListOf()
kullanın:
val originalList = listOf("bir", "iki", "üç")
val mutableCopy = mutableListOf(*originalList.toTypedArray())
mutableCopy.add("dört")
println(originalList) // Çıktı: [bir, iki, üç]
println(mutableCopy) // Çıktı: [bir, iki, üç, dört]
Değiştirilemez ve Değiştirilebilir Listeler Arasından Seçim Yapma
Değiştirilemez ve değiştirilebilir listeler arasında seçim, bağlama bağlıdır. Doğasında bulunan güvenliği ve öngörülebilirliği nedeniyle, mümkün olduğunca değiştirilemez listeleri önceliklendirin. Sadece değişiklikler kesinlikle gerekli olduğunda değiştirilebilir listelere başvurun. Bu yaklaşım, kod okunabilirliğini artırır, hata riskini azaltır ve genel sürdürülebilirliği iyileştirir.