Bu yazıda String değerlerini Int’e dönüştürmeyi ve Listeleri Mapleri stringlere dönüştürmeyi göreceksiniz.
String Int Dönüştürme
Bir String “20” gibi bir sayı içerebilir . Ancak bunlar karakterdir. Bir Int elde etmek için bir ayrıştırmak gereklidir. Bu dizeyi sayıya dönüştürmeliyiz.
Dönüştürme ve ayrıştırma. Scala, Dizeleri, Int’leri, Listeleri ve Dizileri dönüştürmek için birçok yerleşik yöntem sunar.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
object Main { def main(args: Array[String]): Unit = { val sayi = 123 // Int -> String Dönüştürme val sonuc = sayi.toString() if (sonuc == "123") println(sonuc) // String -> Int Dönüştürme val sonuc2 = sonuc.toInt if (sonuc2 == 123) println(sonuc2) } } |
Örnekte sayi değişkeni toString() metodu ile string türüne dönüştürülmüş ve sonuc değişkenine aktarılmıştır. Ardından .toInt() metodu ile string türündeki değer tekrar Int türüne döndürüşmüştür.
List ve toArray Dönüştürme
toArray: Scala’da verileri depolamak ve işlemek için genellikle Listeleri kullanırız. Ancak Diziler de mevcuttur; bunlarla çalışmak biraz daha zordur.
Burada: Listeyi bir Diziye dönüştürmek için toArray
kullanıyoruz. Dizinin değerlerini bir foreach çağrısı ile yazdırıyoruz.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
object Main { def main(args: Array[String]): Unit = { val renkler = List("Sarı", "Kırmızı", "Siyah") // list -> array dönüştürme val sonuc = renkler.toArray // List Yazdırma println(renkler) // Dizi elemanlarını ve uzunluğunu yazdırma println(sonuc.length) sonuc.foreach(println) } } |
List’i String’e dönüştürme
StringBuilder. addString (Listedeki bir yöntem) ile tüm liste öğelerini bir StringBuilder‘a ekleyebiliriz. Sonuç varsayılan olarak ayırıcılara sahip değildir. Ancak addString’e ikinci argüman olarak bir ayırıcı dize belirtebiliriz. Bu, listedeki bir birleştirme yöntemi gibidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
object Main { def main(args: Array[String]): Unit = { val hayvanlar = List("kedi", "kuş", "balık") // StringBuilder oluşturma val builder1 = StringBuilder.newBuilder // addString metodu kullanma hayvanlar.addString(builder1) val sonuc1 = builder1.toString() println(sonuc1) // Ayraç kullanarak yeniden yapmak val builder2 = StringBuilder.newBuilder hayvanlar.addString(builder2, "; ") val sonuc2 = builder2.toString() println(sonuc2) } } |
1 2 3 4 |
kedikuşbalık kedi; kuş; balık |
Range ve List
Scala’da birçok yinelenebilir koleksiyonu bir listeye dönüştürebilen bir toList işlevi buluyor. Bu, scala.collection.TraversableOnce‘ın bir parçasıdır.
Burada: Bir aralığı (to ve by yöntemleriyle belirtilen) toList işleviyle bir listeye dönüştürürüz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
object Main { def main(args: Array[String]): Unit = { val range = 10.to(20).by(3) println(range) val list = range.toList println(list) } } |
1 2 3 4 |
inexact Range 10 to 20 by 3 List(10, 13, 16, 19) |
Vector ve List Dönüşümü
Vector, List’den farklı performans özelliklerine sahiptir. Vector daha hızlı eklenebilir ve güncellenebilir. Bazen bir Vector’e sahipseniz, ve bunu liste dönüştürmek istiyorsanız. Aşağıdaki örnek size yardımcı olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
object Main { def main(args: Array[String]): Unit = { val vector = scala.collection.immutable.Vector.empty println(vector) val vector2 = vector :+ 1 :+ 5 println(vector2) // Liste Çevirme val result = vector2.toList println(result) } } |
Yorum Yap