0Pricing
Kotlin Academy · Ders

Diziler Neden Kullanılır

Tembel değerlendirme

Diziler Neden Kullanılır, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.

Diziler Nedir

Sequence, koleksiyona benzer; ancak öğeleri tembel olarak işler. İşlemler, bir son işlem sonuçları isteyene kadar çalıştırılmaz ve öğeler tüm zincir boyunca teker teker ilerler.

Anında İşlenen Koleksiyonlar

Standart koleksiyon işlemleri anında işlenir: her adım (filter, map) listeyi tamamen işler ve sonraki adım başlamadan önce yeni bir ara liste oluşturur.

fun main() {
    val result = listOf(1, 2, 3, 4)
        .map { it * 2 }
        .filter { it > 4 }
    println(result)
}

Ara Listelerin Maliyeti

Büyük verilerde anında işleme, her adımda yeni bir liste ayırır. Çok sayıda işlem veya milyonlarca öğe olduğunda bu durum bellek ve zaman israfına yol açar.

Tembel Diziler

Bir dizi, sonraki öğeye geçmeden önce her öğeyi tüm işlem hattından geçirir. Ara listeler oluşturulmaz. asSequence() ile dönüştürebilirsiniz.

fun main() {
    val result = listOf(1, 2, 3, 4)
        .asSequence()
        .map { it * 2 }
        .filter { it > 4 }
        .toList()
    println(result)
}

Yürütme Sırasını Görme

Yazdırma ifadeleri eklemek farkı ortaya çıkarır. Bir diziyle her öğe, sonraki öğe başlamadan önce eşleme ve ardından filter işleminden geçer.

fun main() {
    listOf(1, 2, 3).asSequence()
        .map { println("map $it"); it * 2 }
        .filter { println("filter $it"); it > 2 }
        .toList()
}

Anında Yürütme Sırası

Bunu normal bir listeyle karşılaştırın: eşleme önce ALL öğeler için çalışır, ardından filter tüm öğeler için çalışır.

fun main() {
    listOf(1, 2, 3)
        .map { println("map $it"); it * 2 }
        .filter { println("filter $it"); it > 2 }
}

Kısa Devreli Çalışma

Tembel değerlendirme kısa devreli çalışmayı mümkün kılar: first veya find gibi işlemler bir sonuç bulunur bulunmaz durur ve geri kalan öğeler üzerindeki çalışmayı önler.

fun main() {
    val firstBig = (1..1000000).asSequence()
        .map { it * 2 }
        .first { it > 10 }
    println(firstBig)
}

Ara ve Son İşlemler

Dizi işlemleri iki türe ayrılır:

  • Ara (map, filter, take): tembeldir ve başka bir dizi döndürür.
  • Son (toList, sum, first): hesaplamayı tetikler ve bir değer üretir.

Son İşlem Olmadan Hiçbir Şey Olmaz

Tek başına bir ara işlem zinciri hiçbir kodu çalıştırmaz. Bir son işlem çağrılana kadar lambdalar yürütülmez.

fun main() {
    val seq = listOf(1, 2, 3).asSequence()
        .map { println("processing $it"); it }
    println("Nothing printed yet")
    seq.toList()
}

Diziler Ne Zaman Yararlıdır

Diziler büyük veri kümelerinde, uzun işlem zincirlerinde veya sonucun yalnızca bir kısmına (ilk eşleşme gibi) ihtiyaç duyduğunuzda öne çıkar. Küçük listeler için düz koleksiyonlar daha basittir ve aynı hızdadır.

Zihinsel Bir Tasvir

Bir koleksiyonun yatay katmanlar hâlinde (her adımda tüm öğeler), bir dizinin ise dikey akışlar hâlinde (bir öğe tüm adımlardan geçerek) işlendiğini düşünün. Dizilerin ara listelerden kaçınmasının nedeni budur.

Kısa Kontrol

Diziler koleksiyonlardan neden daha verimli olabilir?

Özet

Diziler verileri tembel olarak, öğe öğe ve ara işlemlerden oluşan bir zincir boyunca işler; hesaplama yalnızca bir son işlem tarafından tetiklenir. Bu, ara listeleri önler ve kısa devreli çalışmayı mümkün kılar. Sırada dizi oluşturmayı öğreneceksiniz.

Sıkça Sorulan Sorular

“Diziler Neden Kullanılır” dersi ücretsiz mi?

Evet — “Diziler Neden Kullanılır” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.

“Diziler Neden Kullanılır” dersinde ne öğreneceğim?

Tembel değerlendirme Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Diziler Neden Kullanılır” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Diziler Neden Kullanılır
  2. Diziler Oluşturma
  3. Tembel İşlemler
  4. Diziler ve Koleksiyonlar
← Kotlin Academy Sayfasına Dön