Collezioni Scala - Array

Scala fornisce una struttura dati, la array, che memorizza una raccolta sequenziale di dimensioni fisse di elementi dello stesso tipo. Un array viene utilizzato per memorizzare una raccolta di dati, ma spesso è più utile pensare a un array come una raccolta di variabili dello stesso tipo.

Invece di dichiarare variabili individuali, come numero0, numero1, ... e numero99, dichiari una variabile di matrice come numeri e utilizzi numeri [0], numeri [1] e ..., numeri [99] per rappresentare variabili individuali. Questo tutorial introduce come dichiarare variabili di array, creare array ed elaborare array utilizzando variabili indicizzate. L'indice del primo elemento di un array è il numero zero e l'indice dell'ultimo elemento è il numero totale di elementi meno uno.

Dichiarazione delle variabili di matrice

Per utilizzare un array in un programma, è necessario dichiarare una variabile per fare riferimento all'array e specificare il tipo di array a cui la variabile può fare riferimento.

La seguente è la sintassi per la dichiarazione di una variabile di matrice.

Sintassi

var z:Array[String] = new Array[String](3)

or

var z = new Array[String](3)

Qui, z è dichiarato come un array di stringhe che può contenere fino a tre elementi. I valori possono essere assegnati a singoli elementi o ottenere l'accesso a singoli elementi, può essere fatto utilizzando comandi come i seguenti:

Comando

z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"

Qui, l'ultimo esempio mostra che in generale l'indice può essere qualsiasi espressione che restituisce un numero intero. C'è un altro modo per definire un array:

var z = Array("Zara", "Nuha", "Ayan")

L'immagine seguente rappresenta un array myList. Qui,myList contiene dieci valori doppi e gli indici vanno da 0 a 9.

Elaborazione di array

Quando elaboriamo gli elementi di un array, usiamo spesso strutture di controllo del ciclo perché tutti gli elementi in un array sono dello stesso tipo e la dimensione dell'array è nota.

Di seguito è riportato un programma di esempio che mostra come creare, inizializzare ed elaborare array:

Esempio

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);
   }
}

Salvare il programma sopra in formato Demo.scala. I seguenti comandi vengono utilizzati per compilare ed eseguire questo programma.

Comando

\>scalac Demo.scala
\>scala Demo

Produzione

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

Scala non supporta direttamente varie operazioni sugli array e fornisce vari metodi per elaborare gli array in qualsiasi dimensione. Se si desidera utilizzare i diversi metodi, è necessario importareArray._ pacchetto.