Kotlin’de List ve Array Mantığı
Merhabalar, Kotlin temelleri serimize kaldığımız yerden devam ediyoruz. Bugünkü yazımızda Kotlin’deki list ve array mantığına değineceğiz. Kotlin tarafında bir ya da birden fazla aynı tipte veriyi tutmak için Collections yapılarını kullanırız. Fakat biz bugün Android Development Resources for Educators dokümanında anlatıldığı gibi sadece list ve arraylerden bahsedeceğiz.
List
List’lerde elemanlara liste içerisindeki pozisyonları yani index değerleri aracılığıyla erişiriz. Değişkenler sıralı biçimdedir ve bir öğe liste içerisinde birden fazla kez bulunabilir. Google’ın bize sunduğu dokümanda da belirtildiği gibi kurallı bir cümle list’e örnek olarak gösterilebilir. Cümle kurallı olduğu için kelimelerin sırası önemlidir ve kelimeler sıralı bir şekildedir. Kotlin’de listeler mutable (değiştirebilir) ya da read-only (salt okunur) şeklinde olabilmektedir. Read-only listeler için listOf(), mutable listeler için ise mutableListOf() ifadelerini kullanacağız. Şimdi listOf() ile ilgili bir örnek yapalım.
Şehir isimlerini sıralı bir şekilde cities adlı değişkenin içinde list yardımıyla tuttuk. Kodun çıktısı şu şekildedir:
[İstanbul, Tekirdağ, Ankara, İzmir]
Şimdi ise mutable bir liste örneği yapalım.
Bu kod bloğunda ise iki farklı çıktı aldık. İlk çıktımız yukarıda yazmış olduğumuz kod bloğunun çıktısıyla aynıdır. Aradaki tek fark listemiz mutable yani değiştirilebilir bir liste olduğu için liste içinden eleman çıkarma işlemini gerçekleştirebildik. Bu yüzden kod hata vermedi ve ikinci çıktımız şu şekilde oldu:
[İstanbul, Tekirdağ, İzmir]
Daha önceki yazılarımızda val anahtar kelimesiyle tanımlanan bir değerin değiştirilemeyeceğinden bahsetmiştik. Fakat burada üzerinde değişiklik yaptığımız listeyi val anahtar kelimesiyle tanımladığımız bir değere atadık. Burada dikkat edilmesi gereken nokta şudur; listenin hangi değişkene atıfta bulunduğunu değiştiremeyiz ancak listenin içeriğinde değişiklikler yapabiliriz. Aynı liste üzerinde eleman ekleme ve index değerine göre silme işlemi de yapabiliriz. Onun da örneğini verelim.
Arrays
Diziler aynı tipte birden çok veriyi saklamamıza olanak sağlar. Verileri kolayca sıralamak ve içlerinde arama yapmak için diziler kullanılır. Dizilerin boyutları sabittir ve elementleri (eleman ya da verileri) mutable özellik gösterir. Ayrıca dizi içinde ekleme çıkarma işlemi yapılamaz fakat dizi elemanları üzerinde güncelleme yapılabilir. Bir dizi oluşturalım ve değer ataması yapalım.
Colors adında boyutu 4 olan boş bir array tanımladık ve 0. index’ine blue kelimesini atadık. Dizi oluşturmak için bu yöntem kullanılacağı gibi diğer bir yöntem olan arrayOf() da kullanılabilir.
Animals adında bir dizi oluşturduk ve içine bazı hayvan isimleri yazdık. Görüldüğü üzere index değerini kullanarak dizinin istediğimiz elemanına erişebiliriz. Aynı zamanda index değerini bildiğimiz bir elemanı başka bir elemanla da değiştirebiliriz.
Bonus: Null Safety
Yazımızı bitirmeden Kotlin’i oldukça ilgi çekici kılan bir özellikten bahsedelim: Null safety özelliği. Kotlin’de değişkenler default olarak boş tanımlanamaz (safe call operatörü kullanımı hariç). Null referans gösteren bir kod NullPointerException hatasına neden olacaktır. Bu hata önemli bir hatadır. Kotlin’de uygulamayı çökertmeden null olabilecek değişkenleri kolayca kontrol edip bu hatayı önleyebiliriz.
Safe Call Operatörü
Verinin tipinden sonra kullanılan (?) işareti değişkenin boş olabileceğini belirtmek için kullanılır.
Bugün genel hatlarıyla listelere, dizilere ve Kotlin’deki NullPointerException hatasına değindik. Bir sonraki yazıda ise fonksiyonlardan bahsedeceğiz. Sonraki yazıda görüşmek üzere.
Ben Damla Çim. Bolu Abant İzzet Baysal Üniversitesi'nde Bilgisayar Mühendisliği okuyorum. Hobi olarak sokak fotoğrafçılığı ile ilgileniyorum ve boş zamanlarımda yazılım sektöründe kendime seçtiğim alan doğrultusunda blog yazıları yazıyorum.