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