Kolekcje Scala - Array
Scala zapewnia strukturę danych, plik array, który przechowuje sekwencyjną kolekcję elementów tego samego typu o stałym rozmiarze. Tablica jest używana do przechowywania zbioru danych, ale często bardziej przydatne jest myślenie o tablicy jako o zbiorze zmiennych tego samego typu.
Zamiast deklarować pojedyncze zmienne, takie jak liczba0, liczba1, ... i liczba99, deklarujesz jedną zmienną tablicową, taką jak liczby, i używasz liczb [0], liczb [1] i ..., liczb [99] do reprezentowania indywidualne zmienne. W tym samouczku przedstawiono, jak deklarować zmienne tablicowe, tworzyć tablice i przetwarzać tablice przy użyciu zmiennych indeksowanych. Indeks pierwszego elementu tablicy to liczba zero, a indeks ostatniego elementu to całkowita liczba elementów minus jeden.
Deklarowanie zmiennych tablicowych
Aby użyć tablicy w programie, należy zadeklarować zmienną odwołującą się do tablicy i określić typ tablicy, do której zmienna może się odwoływać.
Poniżej przedstawiono składnię deklarowania zmiennej tablicowej.
Składnia
var z:Array[String] = new Array[String](3)
or
var z = new Array[String](3)
Tutaj z jest zadeklarowane jako tablica ciągów, która może zawierać do trzech elementów. Wartości można przypisać do poszczególnych elementów lub uzyskać dostęp do poszczególnych elementów, można to zrobić za pomocą poleceń takich jak:
Komenda
z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"
Tutaj ostatni przykład pokazuje, że generalnie indeksem może być dowolne wyrażenie, które daje liczbę całkowitą. Jest jeszcze jeden sposób definiowania tablicy -
var z = Array("Zara", "Nuha", "Ayan")
Poniższy rysunek przedstawia tablicę myList. Tutaj,myList zawiera dziesięć podwójnych wartości, a indeksy wynoszą od 0 do 9.
Przetwarzanie tablic
Podczas przetwarzania elementów tablicy często używamy struktur kontroli pętli, ponieważ wszystkie elementy w tablicy są tego samego typu i znany jest rozmiar tablicy.
Poniżej znajduje się przykładowy program pokazujący, jak tworzyć, inicjować i przetwarzać tablice -
Przykład
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);
}
}
Zapisz powyższy program w formacie Demo.scala. Poniższe polecenia służą do kompilowania i wykonywania tego programu.
Komenda
\>scalac Demo.scala
\>scala Demo
Wynik
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
Scala nie obsługuje bezpośrednio różnych operacji tablicowych i zapewnia różne metody przetwarzania tablic w dowolnym wymiarze. Jeśli chcesz użyć różnych metod, musisz zaimportowaćArray._ pakiet.