Colecciones Scala - ArrayBuffer

Scala proporciona una estructura de datos, la ArrayBuffer, que puede cambiar de tamaño cuando el tamaño inicial se queda corto. Como la matriz tiene un tamaño fijo y no se pueden ocupar más elementos en una matriz, ArrayBuffer es una alternativa a la matriz donde el tamaño es flexible.

Internamente, ArrayBuffer mantiene una matriz de tamaño actual para almacenar elementos. Cuando se agrega un nuevo elemento, se verifica el tamaño. En caso de que la matriz subyacente esté llena, se crea una nueva matriz más grande y todos los elementos se copian en una matriz más grande.

Declaración de variables ArrayBuffer

La siguiente es la sintaxis para declarar una variable ArrayBuffer.

Sintaxis

var z = ArrayBuffer[String]()

Aquí, z se declara como un búfer de matriz de cadenas que inicialmente está vacío. Los valores se pueden agregar usando comandos como los siguientes:

Mando

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

Procesamiento ArrayBuffer

A continuación se muestra un programa de ejemplo que muestra cómo crear, inicializar y procesar ArrayBuffer:

Ejemplo

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

Guarde el programa anterior en Demo.scala. Los siguientes comandos se utilizan para compilar y ejecutar este programa.

Mando

\>scalac Demo.scala
\>scala Demo

Salida

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