Ana içeriğe atla

Scala'da Listeler

Listelerin ne olduğunu ve Scala Programlama Dilinde nasıl kullanılabileceğini öğrenin.
Güncel 3 Eki 2026  · 6 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Aşağıdaki eğitimleri okumanız da ilginizi çekebilir:

Giriş

Liste (soyut veri türü)
Kaynak: Wikipedia - Liste (soyut veri türü)

Tek bağlı liste yapısı; üç tamsayı öğeden oluşan bir listeyi uygular (Kaynak: Wikipedia - Liste (soyut veri türü)).

Genel olarak bir liste, sabit sayıda değeri temsil eden soyut veri türlerinin bir sıralamasıdır. Değerler bir program tarafından programatik olarak işlenebilir ve bir listede birden fazla kez yer alabilir. Yukarıdaki şekilde bir liste örneği, üç tamsayıdan oluşan tek bağlı bir liste olarak gösterilmiştir. Liste aynı zamanda bir veri yapısı olarak kabul edilir; bağlı listeler bunun bir örneğidir.

Birçok programlama dili listeleri destekler; insanların listeleri yoğun olarak kullandığı dillere bir örnek Python'dur. Bir liste çoğu zaman öğeler bir çift ayraç içinde—parantez (), köşeli parantez [], süslü parantez {} veya üçgen parantez <>—virgül, noktalı virgül veya boşlukla ayrılarak sıralı biçimde yazılarak oluşturulabilir. Python gibi bazı diller, liste türlerinin dizi türleri gibi indekslenmesine veya dilimlenmesine izin verebilir; bu durumda veri türü daha doğru biçimde bir dizi olarak tanımlanır (Kaynak: Wikipedia - Liste (soyut veri türü)).

Scala'ya özgü olarak, liste, değiştirilemez veri içeren bir koleksiyondur; yani bir liste oluşturulduktan sonra değiştirilemez. Scala'da liste, bağlı listeyi temsil eder.

Bir Scala listesinde her öğenin aynı veri türünde olması gerekmez. Scala listelerinin uygulanması, oluşturma aşamasında dahili olarak değişebilir durum kullanır. Scala'da liste, scala.collection.immutable paketinde tanımlıdır ve bu nedenle değiştirilemezdir. Son olarak bir Scala List; add, prepend, max, min vb. çeşitli yöntemlere sahiptir.

Bir Scala Listesi tanımlama söz dizimi

val variable_name: List[type] = List(item1, item2, item3) veya val variable_name = List(item1, item2, item3) Scala'da bir liste çoğunlukla bir Scala dizisine benzer. Ancak Scala List değiştirilemezdir ve bağlı liste veri yapısını temsil eder. Öte yandan Scala dizisi (array) düz ve değiştirilebilirdir.

Yukarıdaki farkı bir örnekle hızlıca anlayalım.

Scala List vs. Scala Array

Önce Scala'da bir dizi tanımlayalım.

Ardından, Scala dizilerinin sıfırdan başladığı göz önüne alınarak 1. indisteki bir değeri değiştirmeyi deneyin ve güncelleyip güncelleyemediğinize bakın.

Scala Dizisi

Yukarıdaki kod parçacığından gördüğünüz gibi, Scala dizisi 1. indisteki değeri değiştirmenize izin verdi.

Şimdi bir Scala List tanımlayıp yukarıdakinin aynısını taklit etmeyi deneyelim.

Scala Listesi

Yukarıdaki örnekten, Scala List'ler değiştirilemez olduğu için değeri güncellemenin bir hatayla sonuçlandığını çıkarabilirsiniz.

Scala Liste Yöntemleri

  • head: Bu yöntem, Scala listesinin ilk öğesini döndürür.

  • tail: Bu yöntem, ilk öğe hariç tüm öğeleri döndürür.

  • isEmpty: Bu yöntem, listenin boş olup olmadığını kontrol eder; boşsa True, değilse False döner.

  • fill(): Bu yöntem, belirtilen öğenin sıfır veya daha fazla kopyasından oluşan tekdüze bir liste oluşturur.

  • reverse: Bu yöntem, listenin öğelerini tersine çevirir.

  • $:::$ veya $.:::$ ya da .concat(): İki veya daha fazla listeyi birleştirir.

  • tabulate(): Bu yöntem bir listeyi çizelgeler. fill() yöntemine ruhen benzerdir, ancak ondan farklı olarak iki argüman alır. İlk argüman, oluşturulacak listenin boyutlarını verir; ikincisi ise bir fonksiyondan hesaplanan liste öğelerini tanımlar.

Yukarıdaki yöntemlerden bazıları size çok anlamlı gelmediyse endişelenmeyin; bunları Scala'da bir örnek yardımıyla uygulayacaksınız. Ama ondan önce Scala Listelerin nasıl tanımlandığını öğrenelim.

string, tamsayı (hem 1B hem 2B) veri türleriyle Scala Listeleri oluşturacaksınız. Ayrıca hem string hem tamsayı içeren bir liste oluşturmayı da öğreneceksiniz.

1-B Tamsayı Listesi

1-B Tamsayı Listesi

Hem Tamsayı Hem String İçeren 1-B Liste

Hem Tamsayı Hem String İçeren 1-B Liste

1-B String Listesi

1-B String Listesi

2-B Liste

2-B Liste

Listeler Üzerinde Aritmetik İşlem

Bu örnekte yalnızca değişken tanımlamak yerine listelerden yararlanacaksınız. Bir değişkenden farklı olarak bir Liste n adet değer tutabilir; iki değişken yerine iki liste üzerinde aritmetik işlemler gerçekleştireceksiniz.

Hızlıca nasıl yapılacağını öğrenelim.

Aritmetik işlemleri uygulamak için, x ve y listelerinin ardından gelecek zipped.map fonksiyonunu kullanacaksınız. Ardından zipped.map yönteminde argüman olarak gerçekleştirmek istediğiniz işlemi belirteceksiniz.

Listeler Üzerinde Aritmetik İşlem
Listeler Üzerinde Aritmetik İşlem

Son olarak, bu yöntemlerin tümünü içeren bir kod yazalım.

object Scala_List_Methods
{

def main(args: Array[String])
{
    // define two lists
    val x = List(1, 40, 10)
    val y = List(20, 25, 30)
    val z = List("DataCamp", "Tutorials", "Are", "The", "Best")

    //Head
    println();
    println("Head of list x, y, z = " + (x.head, y.head, z.head));
    println();

    //Tail
    println("Tail of list x, y, z = " + (x.tail, y.tail, z.tail));
    println();

    //isEmpty
    println("Is list x, y, z empty? = " + (x.isEmpty, y.isEmpty, z.isEmpty));
    println();

    //Concatenate
    println("Concatenating x, y, z lists with the first method = " + (x:::y:::z));
    println("Concatenating x, y, z lists with the second method = " + ((x).:::(y).:::(z)));
    println("Concatenating x, y, z lists with the third method = " + (List.concat(x,y,z)));
    println();

    //Reverse
    println("Reverse of x, y, z is = " + (x.reverse, y.reverse, z.reverse));
    println();

    //Fill
    println("Output of Fill method is = " + (List.fill(5)(z)));
    println();

    //Tabulate
    println("Output of Tabulate method is = " + (List.tabulate(5)(x => x * x * x)));
}
}
Listeler Üzerinde Aritmetik İşlem

Sonuç

Bu Scala eğitimini tamamladığınız için tebrikler.

Bu eğitimle ilgili tüm sorularınızı aşağıdaki yorumlar bölümünde sormaktan çekinmeyin.

Konular
Scala

Scala Kursları

Kurs

Introduction to Scala

3 sa
27.2K
Begin your journey with Scala, a popular language for scalable applications and data engineering infrastructure.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör