22 Aralık 2021 Çarşamba

 22.12.2021 Listeler ve Kodları

val numbers = listOf(0, 3, 8, 4, 0, 5, 5, 8, 9, 2) 
numbers isimli bir liste parantez içinde elemanları var. 
sorted kodu ile sıralayabiliriz. println("sorted: ${numbers.sorted()}")

val setOfNumbers = numbers.toSet() bu kod ile numbers listemizin içinde tekrarlayan sayıları 1 tane varmış gibi sayıyor. 

val peopleAges = mutableMapOf<String, Int>(
        "Fred" to 30,
        "Ann" to 23
    )
Bu kod bütünlüğünde mutable değiştirilebilir demek, map ise anahtar çifti olarak geçiyor, string int yüklemek şeklinde 2 adet değişkeni var
    Artık peopleAges listemizin içinde Fred=30 , Ann=23 kayıtları vardır. 

println(peopleAges)
Kodunun çıktı : {Fred=30, Ann=23} şeklinde olacaktır.

Aşağıda ki örneklerde de listeye ekleme yöntemleri vardır. 
peopleAges.put("Barbara", 42)
peopleAges["Joe"] = 51

peopleAges["Fred"] = 31 yaparsak Fred değişkeni yukarıda tanımladığımız için ekstra bir Fred koymayacaktır ama Fredin yaşını 30 dan 31'e güncelleyecektir.

peopleAges.forEach komutu ile peopleAges in içinde her değişkeni sırayla döndürebiliriz. 

peopleAges.forEach { print("${it.key} is ${it.value}, ") } Kodunun çıktısı : 
Fred is 31, Ann is 23, Barbara is 42, Joe is 51, olarak gözükecektir en sonda ki virgülde gözükecek ve kötü bir görüntü oluşturacaktır. 

Virgülden kurtulmak için kodu böyle güncellememiz gerekmektedir
println(peopleAges.map { "${it.key} is ${it.value}" }.joinToString(", ") ) Bu kodun çıktısı:
Fred is 31, Ann is 23, Barbara is 42, Joe is 51   ve artık sonunda virgül yoktur. 



Filter kodu ile listemizde filtremeler yapabiliriz örnek verirsek
val filteredNames = peopleAges.filter { it.key.length < 4 } 
Yukarıda ki kodda peopleAges listemizin içinde uzunluğu 4 den kısa olan isimleri(key demiş çünkü) filteredNames değişkenine tanımlıyor. 

println(filteredNames) yaparsak eğer : {Ann=23, Joe=51} çıktısını elde edeceğiz. 

Lambda kullanımı ->

val triple: (Int) -> Int = { it * 3 } isimde değişken tanımlarsak triple i çağırdığımızda ve bir int değer verdiğimizde o değeri 3 ile çarpacaktır

triple(3) yaparsak println(triple) çıktısı 9 olacaktır.

val filteredWords = words.filter { it.startsWith("b", ignoreCase = true) } kodu ile ise b ile başlayan kelimeleri filteredWords e tanımlıyor

Hiç yorum yok:

Yorum Gönder