Escala | Array de búfer

La array en Scala es homogénea y mutable , es decir, contiene elementos del mismo tipo de datos y sus elementos pueden cambiar, pero el tamaño de la array no puede cambiar. Para crear una secuencia indexada mutable cuyo tamaño puede cambiar se utiliza la clase ArrayBuffer . Para usar ArrayBuffer, se importa la clase scala.collection.mutable.ArrayBuffer , se crea una instancia de ArrayBuffer.
Internamente, un ArrayBuffer es una array de elementos, así como el tamaño actual de la array de la tienda. Cuando se agrega un elemento a un ArrayBuffer, se verifica este tamaño. Si la array subyacente no está llena, el elemento se agrega directamente a la array. Si la array subyacente está llena, se construye una array más grande y todos los elementos se copian en la nueva array. La clave es que la nueva array se construya más grande que lo requerido para la adición actual.

Ejemplo:

var name = new ArrayBuffer[datatype]()  // empty buffer is created

var name = new ArrayBuffer("chandan", "gfg", "geeksforgeeks")

En el ejemplo anterior, primero, se crea un búfer vacío aquí, el tipo de datos indica el tipo de datos, como un entero, una string. Luego creó un búfer con tres elementos, de tipo string.

Operaciones en ArrayBuffer

  1. Creando una instancia de ArrayBuffer:

    // Scala program to create an ArrayBuffer
    // ArrayBuffer class is imported
    import scala.collection.mutable.ArrayBuffer
      
    // Creating Object
    object GFG 
    {
          
    // Main Method
    def main(args: Array[String])
    {
        // Instance of ArrayBuffer is created
        var name = ArrayBuffer[String]() 
        name += "GeeksForGeeks"
        name += "gfg"
        name += "Chandan"
        println(name)
    }
    }
    Producción:

    ArrayBuffer(GeeksForGeeks, gfg, Chandan)
    
  2. Elemento de acceso desde ArrayBuffer:
    se accede al elemento igual que a la array, ArrayBuffer(i) se usa para acceder al elemento de índice de la array.

    // Scala program to access element of ArrayBuffer
    // ArrayBuffer class is imported
    import scala.collection.mutable.ArrayBuffer
      
    // Creating Object
    object GFG 
    {
          
    // Main Method
    def main(args: Array[String]) 
    {
        // Instance of ArrayBuffer is created
        var name = ArrayBuffer[String]() 
        name += "GeeksForGeeks"
        name += "gfg"
        name += "Chandan"
          
        // accessing 1th index element of arraybuffer
        println(name(1)) 
    }
    }
    Producción:

    gfg
    
  3. Agregar elementos en ArrayBuffer:
    • Agregar un solo elemento al búfer
      ArrayBuffer+=( element)
    • Agregue dos o más elementos (el método tiene un parámetro varargs)
      ArrayBuffer+= (element1, element2, ..., elementN )
    • Agregue uno o más elementos (usa un parámetro varargs)
      ArrayBuffer.append( elem1, elem2, ... elemN)

    Ejemplo:

    // Scala program to add element in ArrayBuffer
    // ArrayBuffer class is imported
    import scala.collection.mutable.ArrayBuffer
      
    // Creating Object
    object GFG
    {
          
    // Main Method
    def main(args: Array[String]) 
    {
        // Instance of ArrayBuffer is created
        var name = ArrayBuffer[String]() 
      
        // adding one element
        name += "GeeksForGeeks"
              
        // add two or more elements 
        name += ("gfg", "chandan")
              
        // adding one or more element using append method 
        name.append("S-series", "Ritesh"
          
        // printing arraybuffer
        println(name) 
    }
    }
    Producción:

    ArrayBuffer(GeeksForGeeks, gfg, chandan, S-series, Ritesh)
    
  4. Eliminación de elementos de ArrayBuffer:
    • Eliminar un elemento
      ArrayBuffer-= (element)
    • Eliminar varios elementos
      ArrayBuffer-= (elem1, elem2, ....., elemN)

    Ejemplo:

    // Scala program to delete element from ArrayBuffer
    // ArrayBuffer class is imported
    import scala.collection.mutable.ArrayBuffer
      
    // Creating Object
    object GFG 
    {
          
    // Main Method
    def main(args: Array[String]) 
    {
        // Instance of ArrayBuffer is created
        var name = ArrayBuffer( "GeeksForGeeks","gfg",
                                "chandan","S-series"
                                "Ritesh"
      
        // deletes one element
        name -= "GeeksForGeeks"
              
        // deletes two or more elements 
        name -= ("gfg", "chandan")
          
        // printing resultant arraybuffer
        println(name) 
    }
    }
    Producción:

    ArrayBuffer(S-series, Ritesh)
    
  5. Eliminar elementos de ArrayBuffer usando ArrayBuffer.remove() :

    El método remove se usa para eliminar un elemento por su posición en ArrayBuffer, o una serie de elementos que comienzan en una posición inicial.

    Ejemplo:

    // Scala program for remove method, on ArrayBuffer
    // ArrayBuffer class is imported
    import scala.collection.mutable.ArrayBuffer
      
    // Creating Object
    object GFG 
    {
          
    // Main Method
    def main(args: Array[String]) 
    {
        // Instance of ArrayBuffer is created
        var name = ArrayBuffer( "GeeksForGeeks",
                                "gfg", "chandan",
                                "S-series", "Ritesh"
          
        // removing 0th index element
        name.remove(0
          
        // printing resultant arraybuffer
        println(name)
        name.remove(1, 3)
          
        // printing resultant arraybuffer
        println(name) 
    }
    }
    Producción:

    ArrayBuffer(gfg, chandan, S-series, Ritesh)
    ArrayBuffer(gfg)
    

Publicación traducida automáticamente

Artículo escrito por skc161931 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *