Collezioni Scala - ArrayBuffer

Scala fornisce una struttura dati, la ArrayBuffer, che può cambiare dimensione quando la dimensione iniziale è inferiore. Poiché l'array ha una dimensione fissa e non è possibile occupare più elementi in un array, ArrayBuffer è un'alternativa all'array in cui la dimensione è flessibile.

ArrayBuffer mantiene internamente un array della dimensione corrente per memorizzare gli elementi. Quando viene aggiunto un nuovo elemento, la dimensione viene controllata. Nel caso in cui l'array sottostante sia pieno, viene creato un nuovo array più grande e tutti gli elementi vengono copiati in un array più grande.

Dichiarazione delle variabili ArrayBuffer

La seguente è la sintassi per dichiarare una variabile ArrayBuffer.

Sintassi

var z = ArrayBuffer[String]()

Qui, z è dichiarato come un array-buffer di stringhe che inizialmente è vuoto. I valori possono essere aggiunti utilizzando comandi come i seguenti:

Comando

z += "Zara";
z += "Nuha";
z += "Ayan";

Elaborazione di ArrayBuffer

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

Esempio

import scala.collection.mutable.ArrayBuffer 
object Demo {
   def main(args: Array[String]) = {
      var myList = ArrayBuffer("Zara","Nuha","Ayan")
      println(myList);
      // Add an element
      myList += "Welcome";
      // Add two element
      myList += ("To", "Tutorialspoint");
      println(myList);
      // Remove an element
      myList -= "Welcome";
      // print second element
      println(myList(1));
   }
}

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

ArrayBuffer(Zara, Nuha, Ayan)
ArrayBuffer(Zara, Nuha, Ayan, Welcome, To, Tutorialspoint)
Nuha