Kotlin ile Dizi Elemanlarına Erişim Yöntemleri
Merhaba değerli dostlar! Kotlin ile veri yapıları ve algoritmalar yazı dizisine dizi elemanlarına erişim yöntemlerini anlatarak devam etmek istiyorum. Umarım faydalı bir yazı olur.
Kotlin
ile dizi oluşturma yöntemlerinde, aslında verilere erişimi
gösterdik. Ancak bu başlık altında tüm yöntemleri tek tek
sizlere göstermeye çalışacağız.
Amaç erişim yöntemlerini tek bir başlık altında toplamaktır.
Kotlin’de bir dizide bulunan verilere erişim yöntemleri şunlardır:
- [] operatörü ve index ile erişim
- get metodu ile erişim
- Kotlin ile gelen özel metotlar ile erişim
[] operatörü ve index ile Erişim
Kotlin ve diğer programlama dillerinde bir dizide bulunan herhangi bir veriye erişmek için kullanılan en yaygın yöntemdir. [] operatörü, index verisi ile kullanıldığı zaman dizide bulunan veriye erişim sağlanır. Bunu daha iyi anlamak adına şu örneği inceleyelim:
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val secondColor = colors[0] val fourthColor = colors[3] println(secondColor) println(fourthColor) }
Bu yöntem ile verilere erişim sağlarken index bilgisinin 0(sıfır) ile dizinin eleman sayısının 1 eksiği arasında olmasına dikkat ediniz. Yukarıdaki örnek kod için aşağıdaki kullanım hata verecektir.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val secondColor = colors[-1] val fourthColor = colors[5] println(secondColor) println(fourthColor) }
Burada index verisi minimum 0, maksimum 4 arasında olabilir. Bu değerlerin dışındaki bir index verisi çalışma anında java.lang.ArrayIndexOutOfBoundsException hatasını verir.
get Metodu ile Erişim
Bu yöntemde get metodu, index bilgisi ile kullanılarak dizide bulunan herhangi bir veriye erişim sağlanır. Bir önceki metot için yazdığımız kodu aşağıdaki gibi yeniden yazalım.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val secondColor = colors.get(0) val fourthColor = colors.get(3) println(secondColor) println(fourthColor) }
Yukarıdaki kullanım aynı ekran çıktısını verecektir. Aslında ilk yöntemde kullandığımız [] operatörü, Array sınıfında bulunan get metodunu çağırmaktadır. Yani ilk yöntemde dolaylı olarak get metodu çağrılırken, bu yöntemde doğrudan get metodu çağrılmıştır.
Kotlin ile Gelen Özel Metotlar ile Erişim
Kotlin ile gelen Array sınıfı için geliştirilen bazı özel metotlar ile dizideki verilere erişim sağlanabilir. Bu metotlar; component1(), component2(), component3(), component4() ve component5() dir.
Bu metotlar ile dizinin ilk 5 elemanına erişim sağlanabilir.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val secondColor = colors.component1() val fourthColor = colors.component4() println(secondColor) println(fourthColor) }
Bu 5 metodun dışında yazacağımız kodun okunurluğunu arttıran birkaç metodumuz daha var. Şimdi bunları ele alalım:
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val secondColor = colors.elementAt(0) val fourthColor = colors.elementAt(4) }
elementAt() metodu index bilgisi verilen dizi elemanına erişim sağlar.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val clr = colors.elementAtOrElse(5,{_ -> "İndex aşımı"}) println(clr) }
elementAtOrElse() metodu, eğer verilen index bilgisi mevcut değilse ek bir bilgi göstermeyi sağlar. Yukarıda verilen kod ile 5 değerinin, dizinin index aralığında olmadığı bilgisini vermektedir. Bu kodun ekran çıktısı aşağıdaki gibidir.
Eğer kodumuzda aşağıdaki değişikliği yapıp tekrar çalıştırırsak bu kez o indexteki verinin kendisi kullanıcıya gösterilir.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink","Black") val clr = colors.elementAtOrElse(5,{_ -> "İndex aşımı"}) println(clr) }
Diğer bir metot aşağıdaki gibidir.
fun main(args: Array<String>) { val colors = arrayOf("Red", "Green", "Blue","Yellow","Pink") val clr = colors.elementAtOrNull(5) println(clr) }
ElementAtOrNull() metodu index bilgisi verilen dizi elemanına erişim sağlar. Eğer verilen index bilgisi geçersiz ise bu durumda null döndürür. Yukarıdaki kodun ekran çıktısı aşağıdaki gibi olur.
Burada ele aldığımız tüm metotlar aynı işlevi yapmakta ve arka planda get metodunu çağırmaktadır.
Şimdilik bu kadar. Bir sonraki makalede dizi elemanlarının tamamına erişim yöntemlerinden bahsedeceğim. Burada anlattıklarımız bir dizi de bulunan belirli bir elemana erişim yöntemleridir. Ancak bazı durumlarda dizinin tüm elemanlarına erişim sağlamak isteriz. Bir sonraki makalede bu konu üzerinde duracağız.
**Bana en büyük desteğiniz yazılarıma yorum yapmanız ve paylaşmanızdır.