[Döküman] - Scala 4 - Listeler
-
Dersi http://www.mediafire.com/?8y61t3xky3dxevh burdan indirebilirsiniz
ListelerScala'da listeleri oluşturmak için bir çok yöntem var.İlk önce Listeleri import etmemiz lazım. “ import scala.List “ ifadesiyle ekliyoruz.val liste = List(1,2,3,4) dediğimizde liste adında ve 1,2,3,4 elamanlarından oluşan bir liste oluşturcağımızı List ifadesiyle belirtelerek oluşturmuş olduk.val liste = List(1,2,3,4) // Birinci listemizi oluşturdukval liste1 = List(5,6,7) // İkinci listemizi oluşturdukval listebirlesimi = liste:::liste1 // Burda yaptığımız işlemse oluşturduğumuz iki listeyi birleştirdik.println(listebirlesimi) // Ve oluşturduğumuz listelerden oluşan yeni liste (listebirlesimi) 'yi yazdırdıkBurda dikkat ederseniz birleştirme işlemini “ ::: “ operatörü veya metodu ile yaptık.Çalıştırdığımızda da bize “ List(1, 2, 3, 4, 5, 6, 7) “ sonucunu döndürür.İstersek bir listenin başına öğe ekleyerekte yeni bir liste oluşturabiliriz.val liste = List(1,2,3,4) // listemizi oluşturdukval liste1 = 1::liste // 1 ' i , “ :: “ operatoruyle listemize ekledik ve “ liste1 ” adlı yeni liste oluşturdukprintln(liste1) // yeni listemizi yazdırdık.Siz burda bu işlemi birden fazla öğe eklemeyi deneyerek “val liste1 = 4::7::1::liste” şeklinde deneyin.Ve ya listenin sonuna eklemeye çalışarak “val liste1 = liste::1::2” şeklinde deneyin ve sonuçları görün.Listelerimizi “ val liste = List(1,2,3,4) “ bu şekilde oluşturuyorduk.İstersek bunu “ val liste1 = 1::2::3::4::Nil “ şeklinde de oluşturabiliriz.Şimdi burda diceksiniz Nil ne işe yarıyor. Burda Nil boş bir liste anlamında ve listenin son elemanı sonlandırıcısı şeklinde düşünebilirsiniz.Nil ifadesini silin ve sonucu görün.Bazı liste metodları ve kullanımıBoş bir liste oluşturmak.List() veya NilSırasını verdiğimiz liste elemanını yazdırmak.val liste1 = 1::2::3::4::Nilprintln(liste1(3)) // Burda liste1(3) diyerek üçüncü sıradaki elemanı ekrana bas diyoruz.Fakat burda şöyle bişey var.Listelerde sıra 0 ' dan başlıyor.Yani 0 ıncı elamanın karşılığı listeden “ 1 “ oluyor.val liste = List("Cem","Can") // String tipinde listemizi oluşturduk iki elemanlı.println(liste.count(a => a.length==3)) // Burda liste.count diyerek elemanları saycağımızı belirttik.Fakat (a => a.length==3) ifadesiylede a adlı bi değişken oluşturup bunun karakter sayısı 3 olan elemanları bul “ a.length==3 ” diyerek count metoduna koşulumuzu belirttik.Yani burdaki işlem karakter sayısı 3 olan eleman sayısını bize ver dedik.Siz burda 3 ü 5 yapın deneyin veya daha çok eleman ekleyip deneyin.Sırasını belirttiğimiz elemandan itibaren elemanları yazdırmakval liste = List("Cem","Can","Özgür","Fırat","Oguz")println(liste.drop(1)) // 1inci sıradaki eleman Can olduğuna göre Can'dan başlıycak ve son elemana kadar olan tüm elemanları ekrana basıcak.Sırayı değiştirerek kontrol edebilirsiniz.Bir elemanın listede olup olmadığını kontrol etmekval liste = List("Cem","Can","Özgür","Fırat","Oguz")println(liste.exists(a=> a == "Fırat")) //exists ifadesiyle kontrol ediyoruz ve “Fırat” ' ı kontrol ettik.Bize “true” sonucunu döndürür.String Listelerindeki elemanları , karakter sayısına göre bulmakHatırlarsanız count ile elemanların sayısını buluyorduk burdaysa direkt elemanları buluyoruz.val liste = List("Cem","Can","Özgür","Fırat","Oguz")println(liste.filter(a=> a.length == 5 )) // filter metoduyla 5 karakterdan oluşan elemanları ekrana yazdıyoruz.Belirlenen bir harfe göre tüm listeyi kontrol etmeBaş harfe göre kontrol etmek istersekval liste = List("Cem","Can")println(liste.forall(a=> a.startsWith("C"))) //forall ile hepsi için diyerek startsWith metoduylada “C”ile başlıyor mu diye kontrol ediyoruz.Bize “true” sonucunu döndürür.Burda “C” yi “c” ile değiştirip sonucu görün.Son harfe göre kontrol etmek istersekval liste = List("Cem","Can")println(liste.forall(a=> a.endsWith("m"))) // Bize “false” döndürür çünkü sadece Cem öğesi “m” ile bitiyor.Herbir elemanı print ile yazdırmakval liste = List("Cem","Can")println(liste.foreach(a=> print(a)))Bunu daha kısayoldanval liste = List("Cem","Can")println(liste.foreach(print)) // bu şekildede yapabiliriz Hiçbir farkı yok.İlk elemanı yazdırmakval liste = List("Fırat","Özgür","Oğuz")println(liste.head)Son eleman hariç tüm listeyi yazdırmakval liste = List("Fırat","Özgür","Oğuz")println(liste.init)Son elemanı yazdırmakval liste = List("Fırat","Özgür","Oğuz")println(liste.last)Listenin boş olup olmadığını kontrol etmekval liste = List("Fırat","Özgür","Oğuz")println(liste.isEmpty) // false cevabını döndürürListenin kaç elemandan oluştuğunu bulmakval liste = List("Fırat","Özgür","Oğuz")println(liste.length)İlk eleman hariç tüm listeyi yazdırmakval liste = List("Fırat","Özgür","Oğuz","Cem")println(liste.tail)Liste elemanlarının sırasını ters çevirerek yazdırmakval liste = List("Fırat","Özgür","Oğuz","Cem")println(liste.reverse) // Sonuç “ List(Cem,Oğuz,Özgür,Fırat) “ olur.Belirlediğimiz karakter uzunluğunda olan elemanları listeden silmekprintln(liste.remove(a => a.length==5))Listeyi Stringe dönüştürmekval liste = List("Fırat","Özgür","Oğuz","Cem")println(liste.mkString(",")) // Sonuç “ Fırat,Özgür,Oğuz,Cem “ olur.Burda yaptığımız listeyi stringe dönüştürüp aralarına virgül koymak.Siz virgülü farklı bir karakterle değiştirebilirsiniz.Mesela “ * “Tüm elemanlara yeni bir karakter veya karakter grubu eklemekval liste = List("Fırat","Özgür","Oğuz","Cem")println(liste.map(a => a + "cem")) // Sonuç “ List(Fıratcem, Özgürcem, Oğuzcem, Cemcem) “ olurElemanları istediğimiz şekilde alfabetik olarak sıralamakŞimdi burda kafanız karışmasın.(s,t) adında değişkenlerimizi oluşturduk.Daha sonra charAt(0) demek ilk harf ve toLowerCase demeklede küçült dedik.Yani ilk harfi küçült.Sonra “ > “ dedik bu burda önemli.” > “ demek ile “ < “ demenin arasında şöyle bir fark var.Elemanları alfabe sırasına göre mi yoksa alfabe sırasının tersine göre mi sıralıcağımızı söyledik. “ > “ ile alfabe sırasının tersine göre elemanları sırala demek oluyor.Daha sonrada tekrar t.charAt(0).toLowerCase dedik. -
göremiyorum
-
http://turkceprogramming.blogspot.com/2010/10/scala-giris-2.html
-
Ekledim hocam, cok güzel bir arşiv oldu...
Toplam Hit: 1558 Toplam Mesaj: 4