Scala Koleksiyonları - Dizi
Scala bir veri yapısı sağlar, array, aynı türden öğelerin sabit boyutlu sıralı bir koleksiyonunu depolayan. Bir dizi, bir veri koleksiyonunu depolamak için kullanılır, ancak bir diziyi aynı türden değişkenlerin bir koleksiyonu olarak düşünmek genellikle daha yararlıdır.
Sayı0, sayı1, ... ve sayı99 gibi tek tek değişkenleri bildirmek yerine, sayılar gibi bir dizi değişkeni bildirir ve temsil etmek için sayılar [0], sayılar [1] ve ..., sayılar [99] kullanırsınız bireysel değişkenler. Bu öğretici, dizi değişkenlerinin nasıl bildirileceğini, dizilerin nasıl oluşturulacağını ve dizinli değişkenler kullanılarak dizilerin nasıl işleneceğini açıklamaktadır. Bir dizinin ilk öğesinin dizini sıfır sayısıdır ve son öğenin dizini, öğelerin toplam sayısı eksi birdir.
Dizi Değişkenlerini Bildirme
Bir programda bir dizi kullanmak için, diziye başvurmak üzere bir değişken bildirmeniz ve değişkenin başvurabileceği dizi türünü belirtmeniz gerekir.
Aşağıda, bir dizi değişkenini bildirmek için sözdizimi verilmiştir.
Sözdizimi
var z:Array[String] = new Array[String](3)
or
var z = new Array[String](3)
Burada z, en fazla üç öğe tutabilen bir Dizeler dizisi olarak bildirilir. Değerler tek tek öğelere atanabilir veya tek tek öğelere erişim elde edilebilir, aşağıdaki gibi komutlar kullanılarak yapılabilir -
Komut
z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"
Buradaki son örnek, genel olarak dizinin tam sayı veren herhangi bir ifade olabileceğini göstermektedir. Bir diziyi tanımlamanın bir yolu daha var -
var z = Array("Zara", "Nuha", "Ayan")
Aşağıdaki resim bir diziyi temsil eder myList. Buraya,myList on çift değer tutar ve endeksler 0'dan 9'a kadardır.
Dizileri İşleme
Dizi öğelerini işlerken, genellikle döngü kontrol yapılarını kullanırız çünkü bir dizideki tüm öğeler aynı türdedir ve dizinin boyutu bilinir.
Aşağıda dizilerin nasıl oluşturulacağını, başlatılacağını ve işleneceğini gösteren örnek bir program bulunmaktadır -
Misal
object Demo {
def main(args: Array[String]) {
var myList = Array(1.9, 2.9, 3.4, 3.5)
// Print all the array elements
for ( x <- myList ) {
println( x )
}
// Summing all elements
var total = 0.0;
for ( i <- 0 to (myList.length - 1)) {
total += myList(i);
}
println("Total is " + total);
// Finding the largest element
var max = myList(0);
for ( i <- 1 to (myList.length - 1) ) {
if (myList(i) > max) max = myList(i);
}
println("Max is " + max);
}
}
Yukarıdaki programı şuraya kaydedin: Demo.scala. Bu programı derlemek ve çalıştırmak için aşağıdaki komutlar kullanılır.
Komut
\>scalac Demo.scala
\>scala Demo
Çıktı
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
Scala, çeşitli dizi işlemlerini doğrudan desteklemez ve herhangi bir boyuttaki dizileri işlemek için çeşitli yöntemler sağlar. Farklı yöntemleri kullanmak istiyorsanız, içe aktarmanız gerekir.Array._ paketi.