Scala ListBuffer

Una lista es una colección que contiene datos inmutables. List representa una lista enlazada en Scala . Una Lista es inmutable, si necesitamos crear una lista que cambia constantemente, el enfoque preferido es usar un ListBuffer .
La clase Scala List contiene una lista lineal secuenciada de elementos. Una lista se puede construir de manera eficiente solo de atrás hacia adelante. el objeto ListBuffer es conveniente cuando queremos construir una lista de adelante hacia atrás. Admite operaciones eficientes de anteponer y agregar.

Una vez que hayamos terminado de crear nuestra lista, llame al toList método. Para convertir ListBuffer en una lista, el tiempo necesario será constante. Para usar ListBuffer, scala.collection.mutable.ListBuffer classse importa, se crea una instancia de ListBuffer.

Ejemplo :

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

var name = new ListBuffer("class", "gfg", "geeksforgeeks")

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

La siguiente operación se puede realizar en ListBuffer:

  • Al usar L += e podemos agregar el elemento e en tiempo constante.
  • Usando e +=: L podemos anteponer el elemento e en tiempo constante.
  • L.toList En tiempo constante, devuelve una lista con el contenido del ListBuffer. No deberíamos usar ListBuffer una vez que lo cambiamos a una lista.

Operaciones en ListBuffer

Creando una instancia de ListBuffer:

// Scala program to create a ListBuffer 
// ListBuffer class is imported 
import scala.collection.mutable.ListBuffer
  
// Creating object 
object GfG 
{ 
  
    // Main Method 
    def main(args: Array[String]) 
    { 
        // Instance of ListBuffer is created 
        var name = ListBuffer[String]()  
        name += "GeeksForGeeks"
        name += "gfg"
        name += "Class"
        println(name) 
    } 
} 

Producción:

ListBuffer(GeeksForGeeks, gfg, Class)

 
Elemento de acceso desde ListBuffer:

Se accede al elemento igual que a la lista, ListBuffer(i)se utiliza para acceder al i -ésimo elemento de índice de la lista.

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

Producción:

gfg

 
Agregar elementos en ListBuffer:

  • Agregar un solo elemento al búfer
    ListBuffer+=( element)
  • Agregue dos o más elementos (el método tiene un parámetro varargs)
     ListBuffer+= (element1, element2, ..., elementN )
  • Agregue uno o más elementos (usa un parámetro varargs)
    ListBuffer.append( elem1, elem2, ... elemN)
// Scala program to add element in ListBuffer 
// ListBuffer class is imported 
import scala.collection.mutable.ListBuffer 
  
// Creating Object 
object GFG 
{ 
      
    // Main Method 
    def main(args: Array[String]) 
    { 
        // Instance of ListBuffer is created 
        var name = ListBuffer[String]() 
      
        // Adding one element 
        name += "GeeksForGeeks"
              
        // Add two or more elements 
        name += ("gfg", "class") 
          
        // Adding one or more element using append method 
        name.append("Scala", "Article") 
              
        // Printing ListBuffer 
        println(name) 
    } 
} 

Producción:

ListBuffer(GeeksForGeeks, gfg, class, Scala, Article)

 
Eliminación de elementos de ListBuffer:

  • Eliminar un elemento
    ListBuffer-= (element)
  • Eliminar varios elementos
    ListBuffer-= (elem1, elem2, ....., elemN)
// Scala program to delete element from ListBuffer 
// ListBuffer class is imported 
import scala.collection.mutable.ListBuffer 
  
// Creating Object 
object GFG 
{ 
      
    // Main Method 
    def main(args: Array[String]) 
    { 
        // Instance of ListBuffer is created 
        var name = ListBuffer( "GeeksForGeeks", "gfg", 
                                "class", "Scala", 
                                "Article" ) 
      
        // Deletes one element 
        name -= "GeeksForGeeks"
              
        // Deletes two or more elements 
        name -= ("gfg", "class") 
          
        // Printing resultant ListBuffer 
        println(name) 
    } 
} 

Producción:

ListBuffer(Scala, Article)

 
Eliminación de elementos de ListBuffer usando ListBuffer.remove() :

El remove()método se utiliza para eliminar un elemento por su posición en el ListBuffer, o una serie de elementos que comienzan en una posición inicial.

// Scala program for remove method, on ListBuffer 
// ListBuffer class is imported 
import scala.collection.mutable.ListBuffer 
  
// Creating Object 
object GFG 
{ 
      
    // Main Method 
    def main(args: Array[String]) 
    { 
        // Instance of ListBuffer is created 
        var name = ListBuffer( "GeeksForGeeks", 
                                "gfg", "class", 
                                "Scala", "Article" ) 
          
        // Removing 0th index element 
        name.remove(0) 
          
        // Printing resultant ListBuffer 
        println(name) 
        name.remove(1, 3) 
          
        // Printing resultant ListBuffer 
        println(name) 
    } 
} 

Producción:

ListBuffer(gfg, class, Scala, Article)
ListBuffer(gfg)

Publicación traducida automáticamente

Artículo escrito por DivyaPareek 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 *