(11.06.2021 tarihinde oluşturuldu.)
// 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.