// COLLECTIONS (KOLEKSİYONLAR)
// 1. Diziler (immutable / değiştirilemez) println("DİZİLER") // 1.1. Dizi Tanımlama var dizi = arrayOf("elm_1", 2) //var sayilar = intArrayOf(1,3,5,7,9) // Sayılardan oluşan bir dizi
// 1.2. Dizinin elemanlarını yazdırma println("Dizinin ilk elemanı: " + dizi[0]) println("Dizinin ikinci elemanı: " + dizi[1])
println("Dizinin ilk elemanı: " + dizi.get(0)) // İkinci Yöntem println("Dizinin ikinci elemanı: " + dizi.get(1))
// 1.3. Dizinin elemanlarını değiştirme dizi[0] = "yeni_elmn" dizi[1] = "2" println("Dizinin ilk elemanı: " + dizi.get(0)) println("Dizinin ikinci elemanı: " + dizi.get(1))
dizi.set(0, "yeni_elmn_2") // İkinci yöntem --> index_no, yeni_deger dizi.set(1, 3) println("Dizinin ilk elemanı: " + dizi[0]) println("Dizinin ikinci elemanı: " + dizi[1])
// 1.4. Dizinin elemanlarını dolaşma println("Dizi Elemanlarını Dolaşma - Yöntem 1") for (eleman in dizi) { println(eleman) }
println("Dizi Elemanlarını Dolaşma - Yöntem 2") dizi.forEach { println(it) }
println("Dizi Elemanlarını Dolaşma - Yöntem 3") for (i in 0..(dizi.size-1)) { println(dizi[i]) }
println("------------------------------------")
// 2. Array List (mutable / değiştirilebilir veri) println("LİSTELER") // 2.1. Array List Tanımlama var aryLst = arrayListOf<String>()
// 2.2. Eleman Ekleme aryLst.add("Elm_1") aryLst.add("Elm_2") println(aryLst.get(0)) println(aryLst[1])
// 2.3. Eleman Değiştirme aryLst.add(1, "Yeni Elmn") // index, yeni deger println(aryLst[1])
// 2.4. Eleman Filtreleme / Bulma var bulunan = aryLst.filter { it.length < 8 } // NOT: filter methodu koşula uyan elemanlardan yeni bir dizi oluşturur. // it (İng. "O" zamiri) filter içindeki yerel bir değişken, sırasıyla elemanları gezer println(bulunan.size)
// ÖRNEK var meyveler = arrayListOf<String>() meyveler.add("muz") meyveler.add("elma") meyveler.add("armut") meyveler.add("kiraz")
var arananSira = "muz"
for (i in 0..((meyveler.size)-1)) { println("${i}. indeksteki meyve: ${meyveler[i]}") if (arananSira == meyveler[i]) { println("Aranan meyvenin indeksi:" + i) } }
for (meyve in meyveler) { println(meyve) if (arananSira == meyve) { println("Aranan meyvenin indeksi:" + meyveler.indexOf(meyve)) } }
println("------------------------------------")
// 3. Set ve HashSet Yapısı println("SET & HASHSET YAPILARI") // NOT: Set, içerisinde aynı elemandan sadece 1 tane olmasını sağlar var st = setOf<Int>(1,2,3,4,2,1,3) println(st.size) // çıktı: 4 (sonraki 2, 1 ve 3'ü almamış)
// dizilerdeki döngü yöntemleri kullanılabilir st.forEach { println(it) }
// NOT: set, immutable (değiştirilemez) yapıya sayip. Eğer eleman // ekleme/çıkarma yapılacaksa hashSet kullanılabilir
var hasSt = HashSet<Int>() hasSt.add(1) hasSt.add(2) hasSt.add(1)
println(hasSt.size)
hasSt.forEach { println(it) }
println("------------------------------------")
// 4. Map Yapısı (Anahtar - Değer çiftleri) println("MAP YAPISI") var hM = hashMapOf<String,Int>() hM.put("Elma", 100) hM.put("Armut", 200) hM.put("Muz", 150)
println(hM["Armut"])
hM["Armut"] = 175 println(hM["Armut"])
// İlk değer vererek tanımlama var hM2 = hashMapOf<String, Int>("Elma" to 100, "Armut" to 200)
hM2.forEach{ println(it) }
hM2.forEach{ println(it.key + " : " + it.value) }
var azKalorili = hM.filter { it.value < 180 }
azKalorili.forEach { println("${it.key} : ${it.value}") }
ÇIKTILAR System.out: DİZİLER System.out: Dizinin ilk elemanı: elm_1 System.out: Dizinin ikinci elemanı: 2 System.out: Dizinin ilk elemanı: elm_1 System.out: Dizinin ikinci elemanı: 2 System.out: Dizinin ilk elemanı: yeni_elmn System.out: Dizinin ikinci elemanı: 2 System.out: Dizinin ilk elemanı: yeni_elmn_2 System.out: Dizinin ikinci elemanı: 3 System.out: Dizi Elemanlarını Dolaşma - Yöntem 1 System.out: yeni_elmn_2 System.out: 3 System.out: Dizi Elemanlarını Dolaşma - Yöntem 2 System.out: yeni_elmn_2 System.out: 3 System.out: Dizi Elemanlarını Dolaşma - Yöntem 3 System.out: yeni_elmn_2 System.out: 3 System.out: ------------------------------------ System.out: LİSTELER System.out: Elm_1 System.out: Elm_2 System.out: Yeni Elmn System.out: 2 System.out: 0. indeksteki meyve: muz System.out: Aranan meyvenin indeksi:0 System.out: 1. indeksteki meyve: elma System.out: 2. indeksteki meyve: armut System.out: 3. indeksteki meyve: kiraz System.out: muz System.out: Aranan meyvenin indeksi:0 System.out: elma System.out: armut System.out: kiraz System.out: ------------------------------------ System.out: SET & HASHSET YAPILARI System.out: 4 System.out: 1 System.out: 2 System.out: 3 System.out: 4 System.out: 2 System.out: 1 System.out: 2 System.out: ------------------------------------ System.out: MAP YAPISI System.out: 200 System.out: 175 System.out: Elma=100 System.out: Armut=200 System.out: Elma : 100 System.out: Armut : 200 System.out: Muz : 150 System.out: Elma : 100 System.out: Armut : 175
NOT: "turkcell geleceği yazanlar" içeriklerinden faydalanılmıştır.
|