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.