Coleções de Scala - ArrayBuffer

Scala fornece uma estrutura de dados, o ArrayBuffer, que pode mudar de tamanho quando o tamanho inicial for insuficiente. Como o array tem um tamanho fixo e mais elementos não podem ser ocupados em um array, ArrayBuffer é uma alternativa para o array onde o tamanho é flexível.

Internamente, o ArrayBuffer mantém uma matriz do tamanho atual para armazenar elementos. Quando um novo elemento é adicionado, o tamanho é verificado. No caso do array subjacente estar cheio, um novo array maior é criado e todos os elementos são copiados para um array maior.

Declarando Variáveis ​​ArrayBuffer

A seguir está a sintaxe para declarar uma variável ArrayBuffer.

Sintaxe

var z = ArrayBuffer[String]()

Aqui, z é declarado como um buffer de matriz de Strings que está inicialmente vazio. Os valores podem ser adicionados usando comandos como os seguintes -

Comando

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

Processando ArrayBuffer

Abaixo está um programa de exemplo mostrando como criar, inicializar e processar ArrayBuffer -

Exemplo

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

Salve o programa acima em Demo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

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