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 class
se 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