Kotlin - Ders 6 (Koleksiyonlar) | 2021-06-11 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.

YORUMLAR | Bu konuya toplam (0) yorum yapılmış


YORUM YAZ
Adınızı Girin:  * Doldurulması zorunludur



   Doğrulama Kodu


KATEGORİLER
  Genel (4)
  Güvenlik (2)
  Program (6)
  Windows (7)
  Mobil (3)
  Python 3.X (16)
  PARDUS (5)
  M.E.B. (2)
  Donanım (1)
  Java (9)
  Robotik (11)
  JavaScript (1)
  Kotlin (8)
  Multimedia (1)
  Geliştirme (1)
  Kivy (1)

SON YAZILARIM
  install_failed_update_incompatible: Package org.test.myapp signatures do not match the previously installed version; ignoring! | 2024-09-13
  gitHub SSH Bağlantısı Ekleme | 2024-05-06
  2023 - 2024 7. Sınıf Seçmeli Robotik ve Kodlama Dersi Yıllık Planı | 2023-09-28
  Windows 10 Dosya ağ Paylaşım Hatası | 2022-04-19
  Kotlin - Ders 8 (Sınıflar) | 2022-03-28
  Kotlin - Ders 7 (Fonksiyonlar) | 2022-03-27
  e-Okul için GIMP ile Toplu Fotoğraf Boyutlandırma | 2022-01-13
  Pardus Üzerinde App Inventor Emulator Kurulumu ve Çalıştırılması | 2021-09-12
  Kotlin - Ders 6 (Koleksiyonlar) | 2021-06-11
  Kotlin - Ders 5 (Döngü Yapıları) | 2021-06-10